上一篇中,我们主要是使用了代码来实现服务的自我寄宿。代码的实现稍微复杂些,不过还有些使用配置文件和配置工具的方法。下面来一一介绍下。
1、配置文件。首先在Host下添加个app.config文件。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="behavior" />
</endpointBehaviors>
<serviceBehaviors>
<behavior name="behavior">
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/CalculatorService/metadata" />
</behavior>
</serviceBehaviors>
</behaviors>
<services>
<service behaviorConfiguration="behavior" name="Serices.CalculatorService">
<endpoint address="http://localhost:8080/CalculatorService/metadata"
binding="wsHttpBinding" contract="Contract.IContracts" name="CalculatorServices"/>
</service>
</services>
</system.serviceModel>
</configuration>
添加完之后,在program.cs中,就可以简化代码如下了:
static void Main(string[] args)
{
using (ServiceHost host=new ServiceHost (typeof(CalculatorService)))
{
host.Opened += delegate
{
Console.WriteLine("CalculaorService已经启动,按任意键终止服务!");
};
host.Open();
Console.Read();
}
}
2、配置工具。打开工具中的wcf服务配置编辑器。如下:
首先新建服务,将浏览地址定位到你服务类库文件下bin目录
打开之后继续下一步,到选择通信模式,选择http——单工通信——输入终结点地址:http://localhost:8080/CalculatorService/metadata——完成。
接下来添加服务行为和终结点,如下图。新建终结点和服务行为名都为“Behavior”
对服务行为中添加名为serviceMetadata的元素,设置其属性。
双击serviceMetadata,设置属性
设置好之后,只剩最后一步就是讲给我们创建的服务指定终结点行为。
最后保存一下,就ok了。