推奨:共有:XML HTTPリクエストのプロパティと方法の紹介現在、社内で標準的な静的ページを作成する責任があるため、カスタマーエクスペリエンスを向上させるために、Ajax効果を行い、私のようなAjaxを学ぶ必要があることがよくあります。 Ajaxを設計する際に使用される重要な技術(ツール)は、XMLHTTPREQUESTオブジェクトです。ここ
アプリケーションサーバーは、Webサーバーによって使用されるか、最終的に使用されます。通常、ASPページを実行しているIISコンピューターです。 ASPはあなたのオブジェクトの唯一のクライアントです。特別なスレッドとセキュリティの考慮事項をもたらします。ASPを使用する多くのWebサイトはコンポーネントをまったく使用していませんが、この記事では、ASPはインターネットクライアントとコンポーネントの間の橋渡しであると想定されています。次のASPコンポーネントガイドライン(英語)が提供されます
ASPおよびコンポーネント部門サービス
ASPは、サーバー上のクライアントが使用するためのHTMLまたはXMLファイルを作成するために最も一般的に使用されるため、主にこの使用シナリオについて説明します。これは一般的な疑問を提起します:ASPページがサーバー上にある場合、それらはビジネス層の一部に属しますか?コンポーネントの世界では、答えは通常ノーです。 ASPはサーバーで実行され、アプリケーションサーバーと同じスペースにある場合がありますが、これはビジネスロジックの一部になりません。
ユーザーインターフェイスツールが成長しているか、より多くのビジネスからビジネスへのソリューションが有効になっているため、この明確な区別を持つことで大きな報酬が返済されます。
そうは言っても、最も重要なビジネスレイヤーおよびプレゼンテーションレイヤー分割基準のいくつかを見てみましょう。
UIコードをビジネスロジックから分離します。これには、ASP内部コンポーネントを使用してビジネスロジックコードから分離するMTSオブジェクトを使用するなど、UIに組み合わせたコードの作成が含まれます。
ASPページから個別のトランザクション。トランザクションASPは場合によっては非常に優れていますが、コンポーネントとマルチ層アプリケーションはこれを変更します。コンポーネントは、クライアントレイヤーに依存して、トランザクションとビジネスロジックセマンティクスを管理する必要があります。
Webサーバーと同じマシンおよび/またはプロセスに、表現コンポーネント(リクエストと応答を使用するコンポーネント)を配置します。 ASP内部コンポーネントオブジェクトを使用するオブジェクトがリモートマシンに配置されている場合、内部コンポーネントへのすべての呼び出しがコールバックフォームで発生します。 IISクライアントを呼び出すCOMサーバーはCOMサーバーであり、パフォーマンスを大幅に削減し、セキュリティ構成を複雑にします。これらの微調整オブジェクトは、ライブラリの活性化としてマークされたCOMアプリケーションに配置できます。
ASPはサーバーに存在するため、ASPページはリソース共有ルールに準拠し、スケーラビリティに留意する必要があります。以下の詳細をご覧ください。
セッションでは、経営陣はユーザー固有の状態を避けようとする必要があります。
ASPをステートレスに保ち、可能な限りリソースプールを許可します。
操作方法
コードセグメントがビジネスロジックレイヤーまたはプレゼンテーションレイヤーに属するかどうかを評価する場合、ASPページの代わりにボタンタイプの電話アプリケーションを使用する必要がある場合は、コードがまだ機能しますか?答えが「はい」の場合、それをビジネスロジックコードまたはユーザーインターフェイスヘルパーコードに分割することを試みることができます。
クライアントを変更した後にコードを使用できない場合、またはユーザーインターフェイスを構築するためのヘルパーである場合、コードは表現サービスレイヤーに属します。 ASPページ、またはASP内部コンポーネントを使用するコンポーネントにあります。ビジネスオブジェクトコンポーネントに属していません。
デスクトップクライアントとASPクライアントの違いを理解します
ASPは、デスクトップ上の従来のシングルスレッドWin32アプリケーションとは異なり、コンポーネントの特別なクライアントです。主な違いは次のように要約されています。
スレッド管理:ASPはマルチスレッドクライアントです。これは、多くの同時アクティビティが一緒に実行され、おそらく同時に異なるASPページを処理することができることを意味します。これは、オブジェクトがシステムを独占的に占有する唯一のユーザーであると誤って主張することができないことを意味します。これを行うと、たとえば、ASPセッションまたはアプリケーション変数にオブジェクトを保存するという悪い習慣を身に付けることができます。
セキュリティ環境:ASPは、Webサイトのインターネット情報サービス5.0によって実行され、3つの分離レベルの低、中、高。これらのWebサイトでさえ、さまざまなセキュリティ設定を行うことができ、匿名アクセスを許可または拒否し、顧客を認証するなどです。これらのすべての設定は、異なるユーザーアカウントがオブジェクトを使用することになる多数のスキームを作成します。
簡単に成長する:これは技術的な問題ではなく、Webアプリケーションが提供する施設の副作用です。従来、ユーザーベースをデスクトップアプリケーションに追加するには、既知の数のクライアントへの転送を慎重に計画する必要があります。 ASPはプロセスを変更しました。稼働後、すべての従業員、すべてのビジネスパートナー、およびすべての顧客がローカルまたは世界中で使用するために、ASPビジュアルの基本アプリケーションを簡単に開くことができます。この方法で説明できます。ハイパーリンクを使用した単一の電子メールは、ユーザーベースを10倍に増やすことができます。あなたのアプリはこれの準備ができていますか?知る唯一の方法は、実際のパフォーマンスの期待値を得るためにWebサイトで強度テストを行うことです。強度テストの詳細については、アプリケーションライフサイクルセクションを参照してください。
ASP内で視覚的な基本オブジェクトはどのように使用すべきですか?ページスコープ内でオブジェクトを作成してキャンセルします。つまり、ASPページを可能な限りステートレスにし、一時的な状態のセッションまたはアプリケーション変数のみに依存します。セッションまたはアプリケーション変数にオブジェクトを保存しないでください。これにより、ASPスレッドがセッションにロックされ、スケーラビリティのためにすべての期待値がキャンセルされます。つまり、Webサーバーによって処理されたユーザーの数は、数十人のユーザーを超えません。セッションまたはアプリケーションにコンテンツを保存する必要がある場合は、オブジェクトではなくデータにしてください。
他にも多くのガイドラインがあります。 JD MeierがMSDN Voicesで書いたコラムを読むことをお勧めします。このコラムには、スケーラブルで信頼性の高いASPおよびコンポーネントアプリケーションの開発に役立つ幅広い技術、プラクティス、ヒントが含まれています。
参照してください
msdn声:servin 'up column(英語)
セミナロンライン:ASP(英語)でカスタムcomコンポーネントを使用します
MSDNマガジン(英語)
セッションまたはアプリケーションでVBオブジェクトに参照を保存しないでください
すべてのVisual Basic 6.0コンポーネントはセルスレッドであり、すべてがSTAユニットで実行されます。これは、オブジェクトがスレッドで作成されている場合、そのオブジェクトへのすべての呼び出しが同じスレッドで提供される必要があることを意味します。多くのスレッド(同時のWebサイトユーザーから)は、STAオブジェクトの同じインスタンスを使用して、アプリケーションでボトルネックになる可能性のある一連のアクティビティを引き起こします。
さらに、Server.CreateObject内で作成されたSTAオブジェクトを保存すると、実行スレッドを現在のユーザーに効果的に連絡することができ、アプリケーションの同時ユーザーの最大数をデフォルトの20XN(n =プロセッサ数)に制限します。
操作方法
オブジェクトをステートレスにするための推奨事項に従って、クライアントの再利用のための参照を保存して、アプリケーションスコープ内に保存する必要はありません。クライアントは、独自のオブジェクトを独立して作成、使用、キャンセルできます。これにより、セッション固有の状態を保持しないため、セッション固有のオブジェクトを維持する必要性が軽減されます。
推奨される方法は、必要に応じてデータベースまたはその他のストレージエリア(CookieやLDAPなど)にアクセスするオブジェクトをステートレスにすることです。
セッションまたはアプリケーション全体のデータを使用する必要がある場合は、ここでデータを処理するオブジェクトではなく、データを保存します。目的の値の処理をカプセル化するクラスを作成できます。
参照してください
メッセージ:STAオブジェクトをセッションやアプリケーションに保存しないでください(Q243543)(英語)
PRB:STA COMコンポーネントをセッションに保存し、セッションを単一のスレッド(Q243815)(英語)にロックします
情報:ASP(Q243544)(英語)に基づくコンポーネントスレッディングモデルの概要
IIS 5.0で新しいコンテンツを学びます
インターネット情報サーバー5.0は、多くの新機能を追加します。これらの改善は、JD MeierのMSDN記事:IIS 5.0(英語)でASPを使用して書かれています。以下は、この記事の最も重要な改善の概要です。
改善され、優れたパフォーマンス
Server.TransferとServer.Executeメソッド
集中エラー処理
改善されたブラウザ機能
スクリプトエンジンの改善
正規表現アナライザー
ADOレコードセットXML機能との統合
新しいセキュリティ、バッファリング、分離、管理機能
参照してください
ASPの重要な変更(英語)
共有:ヒント:挿入したレコードの自動番号付け値の例を取得しますAccessおよびSQL Serverデータベースの場合、次の方法では、挿入されたばかりのレコードの自動番号付け値を取得できます。 '挿入したレコードの自動番号の値を取得します。以下は参照コンテンツです。