在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基础之配置服务的更多相关文章

  1. WCF学习笔记——配置服务引用

    WCF传过来的东西要序列化. 比如,在WCF服务中,象这么个方法 public IEnumerable<UserItem> GetUserList() 默认情况下,在客户端会调用,是这样: ...

  2. WCF基础之承载服务和生成客户端

    wcf的承载有三种iis.was和自承载,它们如何承载园子里有很多,就不多赘述. 自iis7以后iis支持http和非http的协议,使用iis承载服务与其他两种承载相比,我觉的最明显的是was和自承 ...

  3. WCF学习心得------(三)配置服务

    配置服务 配置服务概述 在设计和实现服务协定后,便可以进行服务的配置.在其中可以定义和自定义如何向客户段公开服务,包括指定可以找到服务的地址,服务用于发送和接受消息的传输和消息编码,以及服务需要的安全 ...

  4. WCF 配置服务 (02)

    配置服务概述 • 在设计和实现服务协定后,即可配置服务. 在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. • ...

  5. WCF服务编程 读书笔记——第1章 WCF基础(2)

    续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...

  6. WCF服务编程 读书笔记——第1章 WCF基础(1)

    第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Bi ...

  7. WCF的创建及其服务配置

    1 开发环境VS2010,我们可以通过,“WCF服务库”.“WCF服务应用程序”,这里说“WCF服务应用程序”的方式. 2 如下 ① ② 先把项目中的"IService1.cs", ...

  8. Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用

    Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...

  9. WCF基础

    初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充. SOA Service-Oriented Architecture,面向服务架构,粗粒度.开放式.松耦合的服务结构,将应用程序 ...

随机推荐

  1. java的架构流行阶段

    第一阶段:SSM 第二阶段:分布式系统改造,平台化初具规模,各项垂直业务系统搭建上线.产品端极大丰富用户投资.大数据平台研究并使用 第三阶段:SOA治理,使用zookeeper作为注册中心,dubbo ...

  2. JDK1.5新特性:

    1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用i ...

  3. Visual Studio开启SSL的支持

    前提: 请确保已经安装了IIS Express 具体操作: 1.web项目->[右键]->[使用IIS Express]转换工程的Web服务器. 2.点击web项目,按[ctrl]+[w] ...

  4. 求用delphi编写的LRC校验位算法函数,急!!!

    求用delphi编写的LRC校验位算法函数,急!!! 某命令串为":010200000001FC" 其16进制为“3A 30 31 30 32 30 30 30 30 30 30 ...

  5. 实例化Spring容器的两种常用方式

    //在类路径下寻找配置文件来实例化容器 ApplicationContext ctx = new ClassPathXmlApplicationContext(new String[]{"b ...

  6. Linux 正则表达式 vi, grep, sed, awk

          1. vi 表示内容的元字符 模式 含义 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符.可以使用-表示字符范围,如[a-z0-9]匹配小写字母和阿拉伯数字. [^abc] 在方 ...

  7. Web自动化测试框架改进

    Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 一.适用范围:传统Web功能自动化测试.H5功能自动化测试 ...

  8. AAuto如何设置定时器

    在设计视图中(一定要有个Form)点击左下角的功能组件   点击定时器即可切换到代码视图,并添加如下代码.其中我每隔一秒改变一下winform.static2.text的文本值      

  9. mpvue添加对scss的支持

    转载于:https://blog.csdn.net/butterfly5211314/article/details/80163628 新版的已经支持了,用npm官方即可下载,也就是 npm i sa ...

  10. [转]Linux shell中的那些小把戏

    我日常使用Linux shell(Bash),但是我经常忘记一些有用的命令或者shell技巧.是的,我能记住一些命令,但是肯定不会只在特定的任务上使用一次,所以我就开始在我的Dropbox账号里用文本 ...