在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数据结构和算法10(堆)

    这篇我们说说堆这种数据结构,其实到这里就暂时把java的数据结构告一段落,感觉说的也差不多了,各种常见的数据结构都说到了,其实还有一种数据结构是“图”,然而暂时对图没啥兴趣,等有兴趣的再说:还有排序算 ...

  2. POJ 1067 取石子游戏 [博弈]

    题意:威佐夫博弈. 思路:看了很多证明都没看懂.最后决定就记住结论好了. 对于所有的奇异局面(必败局),有通项公式 Pi = (a, b), (a = i * [(sqrt(5) + 1) / 2], ...

  3. Tiny4412 支持 adb reboot-bootloader

    硬件版本:     Tiny4412ADK + S700 4GB u-boot 版本: u-boot-2010-12 linux版本:        Linux-3.0.8 版本一 支持 adb re ...

  4. android 内存泄漏出现的情况

    非静态内部类的静态实例由于内部类默认持有外部类的引用,而静态实例属于类.所以,当外部类被销毁时,内部类仍然持有外部类的引用,致使外部类无法被GC回收.因此造成内存泄露. 类的静态变量持有大数据对象静态 ...

  5. GLSL纹理贴图 【转】

    转载:http://blog.csdn.net/hgl868/article/details/7872466 简单的纹理贴图(Simple Texture) 为了在GLSL中应用纹理,我们需要访问每个 ...

  6. C#调用C++Dll封装时遇到的一系列问题【转】

      最近帮底层开发的同时用C#重新封装一下dll,也就是用C#类来封装C++Dll里的方法,以供用户使用. 之前也用到过类似的应用,大多数问题都出在类型转换上,但是这次的应用层出不穷,所以在这里总结一 ...

  7. 2017.2.28 activiti实战--第六章--任务表单(二)外置表单

    学习资料:<Activiti实战> 第六章 任务表单(二)外置表单 6.3 外置表单 考虑到动态表单的缺点(见上节),外置表单使用的更多. 外置表单的特点: 页面的原样显示 字段值的自动填 ...

  8. 2016.6.20 maven下载与安装步骤

    (1)进入maven官网的下载页面. https://maven.apache.org/download.cgi (2)下载页面中可以看到很多可供下载的链接.gz和zip只是压缩方式的区别,这两个都是 ...

  9. swfit各种Function表现形式

    //: Playground - noun: a place where people can play import UIKit //多返回值函数 func countss(string: Stri ...

  10. Kali Linux 2.0安装光盘分享

    Kali Linux 2.0安装光盘分享 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I ...