アプリケーション ダイアグラムでの ASP.NET アプリケーションの概要

更新 : 2007 年 11 月

アプリケーション デザイナでは、適切なエンドポイントを追加または使用して、.asmx ファイル ベースの Web サービスやドキュメント Web のコンテンツ、またはその両方を公開する ASP.NET アプリケーションを定義できます。アプリケーション定義には、アプリケーション ダイアグラムに ASP.NET Web サービス アプリケーションを追加した場合は既定の Web サービス プロバイダ エンドポイントが含まれ、ASP.NET Web アプリケーションを追加した場合は既定の Web コンテンツ プロバイダ エンドポイントが含まれます。ただし、プロバイダ エンドポイントは、ASP.NET アプリケーションに追加したり ASP.NET アプリケーションから削除したりできます。ASP.NET アプリケーションの Web サービス プロバイダ エンドポイントを置き換えることもできます。

詳細については、次のトピックを参照してください。

次のセクションでは、アプリケーション ダイアグラムでの ASP.NET アプリケーションの詳細について説明します。

  • ASP.NET アプリケーションの Web サービスの定義

  • ASP.NET Web アプリケーションの定義

  • ASP.NET アプリケーションの実装

  • Web サービス コンシューマ アプリケーションの実装

ASP.NET アプリケーションの Web サービスの定義

ASP.NET アプリケーションの Web サービスは、Web サービス プロバイダ エンドポイントで表されます。アプリケーションの Web サービス コンシューマ エンドポイントは、Web サービスへのコネクション ポイントを表します。ASP.NET アプリケーションの Web サービスの操作を定義、検証、および編集できます。

操作の定義、検証、および編集

アプリケーション デザイナでは、ASP.NET アプリケーションの各 Web サービスの操作およびパラメータを定義、表示、および編集できます。これは、各 Web サービスに対応する Web サービス プロバイダ エンドポイントを使用して行います。

ms181841.alert_note(ja-jp,VS.90).gifヒント :

アプリケーション デザイナでは、コントラクト ドリブンの方法もサポートします。この方法では、既存の WSDL ファイルや .disco ファイルに基づいて、定義済みの操作シグネチャおよび型を指定し、ASP.NET アプリケーションに Web サービス プロバイダ エンドポイントを作成できます。詳細については、「WSDL ファイルに基づいた Web サービス エンドポイント」を参照してください。

次の要素を使用して、1 つ以上の操作を定義できます。

  • 操作名および戻り値の型 (適切な場合)。

  • 操作名を含む操作パラメータ、型 (適切な場合)、および各パラメータを渡す方法を記述する修飾子。

  • 各操作またはパラメータの省略可能なコメント。

詳細については、「方法 : ASP.NET Web サービスの操作を定義する」を参照してください。

[Web サービスの詳細情報] ウィンドウでの操作の定義

アプリケーション デザイナで [Web サービスの詳細情報] ウィンドウを使用して、ASP.NET アプリケーションの Web サービス プロバイダ エンドポイントの操作を定義、表示、または編集できます。実装されている ASP.NET アプリケーション上の Web サービスの場合、対応する Web メソッドが別のコード ファイルまたは "分離コード" ファイルの単一クラス定義で完全に宣言されている場合にのみ、Web サービスの操作がこのウィンドウに正しく表示されます。

[Web サービスの詳細情報] ウィンドウに Web サービスの操作が正しく表示されないシナリオを次の表に示します。

シナリオ

[Web サービスの詳細情報] ウィンドウ

.asmx ファイルに Web サービス クラス定義のインラインが含まれている。

操作は表示されません。

Web サービス クラスが実装するインターフェイスのメソッドで、Web メソッドが属性によって宣言されている。

または

クラスが、Web メソッドを定義する基本クラスを拡張する。

.asmx ファイルが参照するクラスで宣言されている Web メソッドに対応する操作だけが表示されます。

Web サービスを定義する分離コード ファイルに複数のバインディングが含まれている。

最初のバインディングに関連付けられた操作だけが表示されます。

詳細については、「既存のソリューションでのリバース エンジニアリングに関する考慮事項」を参照してください。

操作およびパラメータの型の参照

操作またはパラメータの型の参照は、アプリケーション用に選択されたプログラミング言語によって変わります。操作またはパラメータを定義するときは、次のいずれかのアクションを選択できます。

  • 型に何も指定しないか、適切な既定の型を設定します。

  • [IntelliSense] ボックスの一覧から型を選択します。

  • アプリケーション プロジェクト内に、他のタイプ ライブラリやプロジェクトへの参照がある場合は、それらのライブラリやプロジェクトで定義された型を参照します。

  • 後で定義する予定の型を参照します。

[Web サービスの詳細情報] ウィンドウで操作およびパラメータを定義する場合、IntelliSense のサポートは Visual Basic および Visual C# の型の参照で使用できます。アプリケーションが実装された後で、新しい型を定義したり、既存の型を再定義したりできます。詳細については、「方法 : ASP.NET Web サービスの操作およびパラメータの型を定義する」を参照してください。

ASP.NET Web アプリケーションの定義

アプリケーション デザイナでは、ASP.NET アプリケーションの Web コンテンツ プロバイダ エンドポイントは、HTML ファイルや ASP (Active Server Pages) (.aspx ファイル) などの Web コンテンツが公開されるコネクション ポイントを表します。アプリケーションの Web コンテンツ コンシューマ エンドポイントは、Web コンテンツへのクライアント コネクション ポイントを表します。

Web コンテンツ エンドポイントはコード生成や同期をサポートしません。また、アプリケーションの構成ファイル (.config ファイル) のエントリの生成や同期も行いません。ただし、これらのエンドポイントを使用して、Web サーバー上でホストされる Web サイトの Web コンテンツのサポートに関する要件を文書化したり、制約を設定したりできます。

詳細については、次のトピックを参照してください。

ASP.NET アプリケーションの実装

Visual Studio では、ASP.NET アプリケーションの実装時に、適切なプロジェクト ファイルを指定することで対応するプロジェクトが生成されます。ASP.NET アプリケーションは、ASP.NET 開発サーバーの Web プロジェクト (ファイル システム ベース)、またはインターネット インフォメーション サービス (IIS: Internet Information Services) の Web プロジェクト (HTTP ベース) として実装できます。詳細については、「アプリケーションを定義するためのアプリケーションの種類とプロトタイプ」および「方法 : ASP.NET アプリケーションの Web サイトの種類を選択する」を参照してください。

すべての ASP.NET アプリケーション プロジェクトには、ソリューション エクスプローラのルート プロジェクトの一部として Web.config 構成ファイルが含まれます。Web サービス プロバイダ エンドポイントが 1 つ以上ある ASP.NET アプリケーションでは、Web サービス プロバイダ エンドポイントごとに .asmx ファイルと Web サービス クラス ファイル (プログラミング言語固有のコード ファイルまたは "分離コード ファイル") もプロジェクトに含まれます。

Web サービス クラスでは、単一のバインディングと単一のポートを持つ WSDL バインディングが各 Web サービス プロバイダ エンドポイントに関連付けられます。各 Web サービス操作は、WebMethod 属性のラベルが付いたメソッドとして、コメントと共に Web サービス クラスに表示されます。WSDL ファイルまたは .disco ファイルから作成された Web サービス プロバイダ エンドポイントの場合、WSDL ファイルまたは関連する XML スキーマ ファイル内の操作の XML シリアル化をサポートする XML 複合型を定義するクラス ファイルもアプリケーション プロジェクトに含まれます。これで、必要なメソッド本体のコードを追加すると、各操作の実装を完了できます。詳細については、「WSDL ファイルに基づいた Web サービス エンドポイント」を参照してください。

ms181841.alert_note(ja-jp,VS.90).gifメモ :

操作コメントに指定する WSDL の説明も WSDL ファイルに表示されます。WSDL ファイルの生成をカスタマイズすることもできます。詳細については、「ASP.NET Web サービスの WSDL ファイルの生成」を参照してください。

実装されたアプリケーションのソース コードはマスター定義と見なされる一方、アプリケーション デザイナ、[Web サービスの詳細情報] ウィンドウ、またはコード エディタを使って ASP.NET Web サービスに加える変更は、アプリケーション ダイアグラムが開くときに互いに同期されます。ただし、閉じているダイアグラムは、次にダイアグラムが開くときにコードに加えられた変更と同期されます。詳細については、「方法 : アプリケーション ダイアグラムでアプリケーションを実装する」を参照してください。

ASP.NET Web アプリケーションの動的なポート割り当て

ASP.NET 開発サーバーの Web プロジェクトを生成するファイル システム ベースの ASP.NET アプリケーションを実装するときは、関連付けられた Web サイトにポート番号が割り当てられます。ファイル システム ベースの ASP.NET アプリケーションは、ポートを動的に使用するように既定で設定されていますが、このポート番号は変更可能です。

ms181841.alert_note(ja-jp,VS.90).gifヒント :

ポート番号は、ソリューション エクスプローラで ASP.NET アプリケーション プロジェクトを右クリックし、[プロパティ] をクリックすると、[プロパティ] ウィンドウに表示できます。

たとえば、次のような場合に、ファイル システム ベースの ASP.NET アプリケーションに新しいポート番号が割り当てられます。

  • ファイル システム ベースの ASP.NET アプリケーション、およびファイル システム ベースの ASP.NET アプリケーションによって公開される Web サービスを参照する実装された Web サービス コンシューマ アプリケーションの両方を含むソリューションを開く場合。

  • ファイル システム ベースの ASP.NET アプリケーションを含むソリューションで、Visual Studio デバッガを初めて使用する場合。

関連付けられた Web サービス コンシューマ アプリケーション プロジェクトが同じソリューション内にある場合、これらは自動的に更新されます。ただし、ソリューションが分割されている場合など、これらが別のソリューション内にある場合、その Web 参照は更新されず、存在しない Web サービスを指すようになります。

ms181841.alert_note(ja-jp,VS.90).gifメモ :

ソース コード管理を使用していて、関連付けられた Web サービス コンシューマ アプリケーション プロジェクトがソース コード管理にチェックインされている場合は、これらのプロジェクトをチェックアウトして Web 参照を更新する必要があります。

ポート番号の割り当てを制御するには、ポートを動的に使用しないように、ファイル システム ベースの ASP.NET アプリケーションのプロジェクトを設定します。

ms181841.alert_note(ja-jp,VS.90).gifメモ :

ポートを動的に使用しないように指定した後で Visual Studio デバッガを開始すると、既存のポートが使用中であるというエラーが生成される場合があります。この場合は、該当する Web サイト プロジェクトのポート番号を手動で変更する必要があります。ポート番号を変更すると、既存の Web 参照が無効になるという警告が生成されます。アプリケーション ダイアグラムが開いている場合、Web 参照は更新されます。ただし、アプリケーション ダイアグラムが開いていない場合は、Web 参照を削除してから追加し直す必要があります。

詳細については、次のトピックを参照してください。

Web サービス コンシューマ アプリケーションの実装

1 つ以上の Web サービス コンシューマ エンドポイントを指定してアプリケーションを実装すると、Web 参照の生成に使用される WSDL ファイルが使用可能であれば、Web サービス コンシューマ エンドポイントごとに Web 参照が生成されます。この WSDL ファイルは、Web サービス コンシューマ エンドポイントの WSDL の場所を示すプロパティで指定されます。Web 参照が生成されるとき、コンシューマ アプリケーションの構成ファイルに Web サービス URL も生成されます。

ms181841.alert_note(ja-jp,VS.90).gifメモ :

接続される ASP.NET Web サービス プロバイダ アプリケーションが同時に実装される場合、WSDL ファイルは実装中に使用可能になります。ただし、接続される Web サービス プロバイダ アプリケーションがコンシューマ エンドポイントと同時に実装されない場合は、コンシューマ エンドポイントに、そのエンドポイントを実装できなかったことを示す警告が表示されます。Web サービス プロバイダ アプリケーションが実装されると、コンシューマ アプリケーションが実装されていれば、接続されるコンシューマ エンドポイントは自動的に実装されます。詳細については、「アプリケーション ダイアグラムのトラブルシューティング」を参照してください。

Web 参照は、Web サービス操作を呼び出すための Web サービス クライアント プロキシ クラスとプロキシの種類を作成し、SOAP メッセージの通信を処理します。クラス ライブラリで定義されているカスタム プロキシ クラスや Web 参照などのカスタム Web サービス クライアント プロキシ クラスをリバースエンジニアリングして、Web サービス コンシューマ エンドポイントとして視覚化することもできます。詳細については、「XML Web サービス プロキシの作成」および「カスタムの Web サービス クライアント プロキシ クラスに関する考慮事項」を参照してください。

ms181841.alert_note(ja-jp,VS.90).gifメモ :

実装後に Windows や Web サービス コンシューマ アプリケーションの XML ドキュメントを有効にして、操作コメントを XML ファイルに組み込むこともできます。このファイルは、アプリケーション プロジェクトがビルドされた後で生成されます。XML ファイルを生成するには、Windows プロジェクトの XML ドキュメントを有効にする必要があります。Visual Basic の Windows プロジェクトについては、「方法 : プロジェクトの XML ドキュメントを生成する」を参照してください。Visual C# の Windows プロジェクトについては、「方法 : ビルドのプロパティを設定する (C#)」および「[ビルド] ページ (プロジェクト デザイナ) (C#)」を参照してください。

参照

その他の技術情報

アプリケーション ダイアグラムでの ASP.NET アプリケーションの定義