前回(以下のエントリー)作成したWCFサービスライブラリの、ホストを今回は作成します。
WCFサービスライブラリの作成 - プログラマーな日々
今回はWCFサービスライブラリのプロジェクトテンプレートを使用して、WCFサービスを作成します。 ...
新しいプロジェクトの追加
前回作成したソリューションに新しいプロジェクトを追加します。テンプレートは[コンソールアプリケーション]を選択します。
参照の追加
作成したプロジェクトに、[System.ServiceModel]への参照を追加します。また、前回作成したWCFサービスライブラリプロジェクトへの参照も追加します。
ファイルの追加
App.configファイルを追加します。
ソースコード
ソースコードを記述します。
App.config
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <behaviors> <serviceBehaviors> <behavior name="svcBehavior"> <!-- HTTPのGet要求で、サービスメタデータの取得を可能にする --> <serviceMetadata httpGetEnabled="true" /> </behavior> </serviceBehaviors> </behaviors> <services> <!-- 定義したBehaviorを適用する --> <service behaviorConfiguration="svcBehavior" name="WcfServiceLibrary1.Service1"> <endpoint address="HelloWCF" binding="basicHttpBinding" name="basicHttp" contract="WcfServiceLibrary1.IService1" /> <host> <baseAddresses> <add baseAddress="http://localhost:8000/WCFSampleService" /> </baseAddresses> </host> </service> </services> </system.serviceModel> </configuration>
Program.cs
using System; using System.ServiceModel; using WcfServiceLibrary1; namespace Host { class Program { static void Main(string[] args) { using (ServiceHost host = new ServiceHost(typeof(Service1))) { Console.WriteLine("サービスを起動します。"); host.Open(); Console.WriteLine("[Enter]キーを押すと、サービスが停止されます。"); Console.ReadLine(); host.Close(); } } } }