在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/
时间: 2024-11-04 07:48:29