你的位置:首页 > ASP.net教程

[ASP.net教程]WCF基础之配置服务


在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/