标签:
在WCF应用编程中配置服务是其主要部分。
配置可以定义和自定义如何向客户端公开服务,包括服务地址,发送和接受消息的传输和编码,以及服务的安全类型。
服务的配置有两种:编码和使用config文件,大多数是用配置文件进行配置。
<system.serviceModel>
<!--服务-->
<services>
<service>
<host />
<endpoint/>
</service>
</services>
<!--绑定(可选项)-->
<bindings>
<binding>
</binding>
</bindings>
<!--行为(可选项)-->
<behaviors>
<behavior>
</behavior>
</behaviors>
</system.serviceModel>
结构如上。
service:主要有name和behaviorConfiguration两个属性,name是限定的,由命名空间和类名组成,如name="命名空间.实现类"。
endpoint:address统一的资源标识,可以是绝对地址,也可以是相对服务地址,如果为空,则与基地址相同;bing确定传输协议类型、安全和使用编码,以及是否支持或启用可靠会话、事物或流;bingdingConfiguration:这个可以参考这个http://www.cnblogs.com/artech/archive/2011/09/19/defaultbinding.html;
contract:就是服务的接口
<endpoint address="" binding="basicHttpBinding" contract="WcfServiceContract.IService1">
绑定:每个终结点都要求制定正确的绑定,绑定的信息可能非常基本,也可能非常复杂。wcf有许多绑定,如basichttpbinding、WSHttpBinding、NetNamedPipeBinding和NetMsmqBinding等常用绑定,包含协议,编码和传输。还有根据实际情况使用Custombinding.
这些就不详说了,这玩意儿书都能分几章来写呢,入门的话只要知道哪些是必须的,有什么用就好了,能用代码和配置文件对服务进行配置,这个我已经写到要吐了,我就直接粘贴复制了。如果你不会,请一定要多写!
Uri BaseAddress = new Uri("http://localhost:8000/MyService"); ServiceHost host = new ServiceHost(typeof(XiYiJi), BaseAddress); host.AddServiceEndpoint(typeof(IHelloWCFService), new WSHttpBinding(), "XiYiJiWCFService"); ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); smb.HttpGetEnabled = true; host.Description.Behaviors.Add(smb); host.Open(); Console.WriteLine("服务以打开"); Console.ReadKey();
上面这个是代码进行配置的,下面这个是配置文件配置
<system.serviceModel>
<services>
<service name="WCFApplication1.XiYiJi" behaviorConfiguration="metechanged">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/MyService"/>
</baseAddresses>
</host>
<endpoint address="XiYiJiWCFService" binding="wsHttpBinding" contract="WCFApplication1.IXiYiJiService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metechanged">
<serviceMetadata httpsGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
我不知道有没有人跟我一样,还是留个链接吧http://q.cnblogs.com/q/74606/
标签:
原文地址:http://www.cnblogs.com/qiandi/p/4695896.html