SelfHost サンプルでは、コンソール アプリケーションでセルフホステッド サービスを実装する方法を示します。 このサンプルは、入門に基づいています。 サービス設定ファイルの名前が Web.config から App.config に変更され、ホストが使用するベースアドレスを設定するように変更されました。 構成されたベース アドレスを提供するサービス ホストを作成して開く静的 Main
関数を実装するようにサービス ソース コードが変更されました。 サービスの実装は、各操作の出力をコンソールに書き込むよう変更されています。 サービスの正しいエンドポイント アドレスを構成する場合を除き、クライアントは変更されていません。
注
このサンプルのセットアップ手順とビルド手順は、このトピックの最後にあります。
このサンプルでは、次のサンプル コードに示すように、特定のCalculatorService
型のServiceHostを作成する静的 main 関数を実装します。
// Host the service within this EXE console application.
public static void Main()
{
// Create a ServiceHost for the CalculatorService type.
using (ServiceHost serviceHost =
new ServiceHost(typeof(CalculatorService)))
{
// Open the ServiceHost to create listeners
// and start listening for messages.
serviceHost.Open();
// The service can now be accessed.
Console.WriteLine("The service is ready.");
Console.WriteLine("Press <ENTER> to terminate service.");
Console.WriteLine();
Console.ReadLine();
}
}
サービスがインターネット インフォメーション サービス (IIS) または Windows プロセス アクティブ化サービス (WAS) でホストされている場合、サービスのベース アドレスはホスティング環境によって提供されます。 セルフホステッドの場合は、ベース アドレスを自分で指定する必要があります。 これは、次のサンプル構成で示すように、add
要素、<baseAddresses> の子、<host> の子、<service の子>を使用して行われます。
<service
name="Microsoft.ServiceModel.Samples.CalculatorService"
behaviorConfiguration="CalculatorServiceBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
サンプルを実行すると、操作の要求と応答がサービスとクライアントの両方のコンソール ウィンドウに表示されます。 各コンソール ウィンドウで Enter キーを押して、サービスとクライアントをシャットダウンします。
サンプルを設定、ビルド、実行するには
Windows Communication Foundation サンプル のOne-Time セットアップ手順を実行していることを確認します。
ソリューションの C# または Visual Basic .NET エディションをビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
シングル コンピューター構成またはクロスコンピューター構成でサンプルを実行するには、「 Windows Communication Foundation サンプルの実行」の手順に従います。