码迷,mamicode.com
首页 > 其他好文 > 详细

WCF基础之配置服务

时间:2015-08-11 23:08:42      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:

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

WCF基础之配置服务

标签:

原文地址:http://www.cnblogs.com/qiandi/p/4695896.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!