WCF服务配置问题
上一篇中,我们主要是使用了代码来实现服务的自我寄宿。代码的实现稍微复杂些,不过还有些使用配置文件和配置工具的方法。下面来一一介绍下。
1、配置文件。首先在Host下添加个app.config文件。
1 <?xml version="1.0" encoding="utf-8"?> 2 <configuration> 3 <system.serviceModel> 4 <behaviors> 5 <endpointBehaviors> 6 <behavior name="behavior" /> 7 </endpointBehaviors> 8 <serviceBehaviors> 9 <behavior name="behavior"> 10 <serviceMetadata httpGetEnabled="true" httpGetUrl="http://localhost:8080/CalculatorService/metadata" /> 11 </behavior> 12 </serviceBehaviors> 13 </behaviors> 14 <services> 15 <service behaviorConfiguration="behavior" name="Serices.CalculatorService"> 16 <endpoint address="http://localhost:8080/CalculatorService/metadata" 17 binding="wsHttpBinding" contract="Contract.IContracts" name="CalculatorServices"/> 18 </service> 19 </services> 20 </system.serviceModel> 21 </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了。