基本的に 2 つのオプションがあります。
オプション 1 - 「bin」デプロイ(推奨オプション)
- WCF サービスを DLL (クラス ライブラリ) にコンパイルします。
- IIS で Web サイトを作成する
- WCF DLL を Web サイトの
.\bin
フォルダーにコピーします。
*.svc
その Web サイトにファイルを作成する
web.config
Web サイト フォルダーに適切な を追加して、エンドポイントやサービス構成などを定義します。
WCF サービスは、Web サイトのベース アドレスと*.svc
ファイルの名前で到達できるようになります。
http://myserver/someweb/Myservice.svc
あなた*.svc
は次のようになります:
<%@ ServiceHost Language="C#" Debug="true"
Service="WCF_Simple_Service.HelloIndigoService" %>
属性は、Service=
サービスを実装するクラスを示します - その名前空間で完全に修飾されています。
オプション 2 - ものを入れるApp_Code
- IIS で Web サイトを作成する
- すべてのWCF関連ファイルをフォルダー
*.cs
に直接配置します.\App_Code
*.svc
その Web サイトにファイルを作成する
web.config
Web サイト フォルダーに適切な を追加して、エンドポイントやサービス構成などを定義します。
WCF サービスは、Web サイトのベース アドレスと*.svc
ファイルの名前で到達できるようになります。
http://myserver/someweb/Myservice.svc
あなた*.svc
は次のようになります:
<%@ ServiceHost Language="C#" Debug="true"
Service="Service"
CodeBehind="~/App_Code/Service.cs" %>
簡単なサンプルweb.config
は次のようになります。
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="WithDebug">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
<services>
<service name="SimpleWCF.HelloIndigoService" behaviorConfiguration="WithDebug">
<endpoint
address=""
binding="basicHttpBinding"
contract="SimpleWCF.IHelloIndigoService" />
<endpoint
address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
基本的に<service>
タグを定義します - 繰り返しますが、name=
はサービスを実装するクラスを示します - その名前空間で完全に修飾されています。これには、少なくとも 1 つのエンドポイントが含まれている必要があります (「mex」エンドポイントはオプションです) が、特に開発とテストでは非常に便利です。これにより、クライアントはサービスを「発見」し、そのサービスの説明を取得して、それとやり取りできるようになります。
サービスが IIS にデプロイされると、WCF に無料で同梱されているWCF Test Clientや、汎用 SOAP テスト ユーティリティであるSoapUI (無料版が使用可能) などのツールを使用して、サービスの動作を確認できます。 .