自己ホスト
このサンプルでは、自己ホスト型サービスをコンソール アプリケーションに実装する方法を示します。このサンプルは、「入門サンプル」に基づいています。サービス構成ファイルは、名前が Web.config から App.config に変更され、ホストが使用するベース アドレスを構成するように変更されました。サービス ソース コードは、構成されたベース アドレスを提供するサービス ホストを作成して開く、静的な Main
関数を実装するように変更されました。サービス実装は、操作ごとにコンソールに出力を書き込むように変更されました。クライアントは、サービスのエンドポイント アドレスが正しく構成されたことを除き、変更されていません。
メモ : |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
このサンプルは、静的な main 関数を実装し、指定された CalculatorService
型の ServiceHost を作成します。次のサンプル コードを参照してください。
// 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="https://localhost:8000/ServiceModelSamples/service"/>
</baseAddresses>
</host>
...
</service>
このサンプルを実行すると、操作要求と応答がサービスとクライアントの両方のコンソール ウィンドウに表示されます。どちらかのコンソールで Enter キーを押すと、サービスとクライアントがどちらもシャットダウンされます。
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」を実行したことを確認します。
ソリューションの C# 版 または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順を参照してください。
サンプルを単一コンピュータ構成または複数コンピュータ構成で実行するには、「Windows Communication Foundation サンプルの実行」の手順を参照してください。
Copyright © 2007 by Microsoft Corporation.All rights reserved.