一、概述

  配置也是WCF编程中的主要组成部分。在 以往的.net应用程序中,我们会把DBConn和一些动态加载类及变量写在配置文件里。但WCF有所不同。他指定向客户端公开的服务,包括服务的地址、 服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型等。使用配置文件后,我们无需编译即可修改WCF的变化的信息,提高了程序的灵活性。

  如果在代码里写了配置,那么配置文件将不起作用。

  Web程序在Web.config中配置,应用程序中在App.config中配置。

二、服务配置的主要部分

  在Config中配置服务的结点为:<system.serviceModel></system.serviceModel>,在这个节点中主要有三个平级的部分。如下代码所示:

 1 <?xml version="1.0" encoding="utf-8"?>
 2  <configuration>
 3    <system.serviceModel>
 4
 5      <!--配置服务和终结点开始-->
 6      <services>
 7        <service>
 8          <endpoint></endpoint>
 9        </service>
10      </services>
11      <!--配置服务和终结点结束-->
12
13      <!--配置绑定开始-->
14      <bindings>
15        <netTcpBinding>
16          <binding>
17          </binding>
18        </netTcpBinding>
19      </bindings>
20      <!--配置绑定结束-->
21
22      <!--配置行为开始-->
23      <behaviors>
24        <serviceBehaviors>
25          <behavior>
26          </behavior>
27        </serviceBehaviors>
28      </behaviors>
29      <!--配置行为结束-->
30
31    </system.serviceModel>
32  </configuration>

  Service配置节[必须有]:配置服务、接口和终结点。每个Service都会有以下两个属性。name:名称空间.类名[服务的具体实现类]。behaviorConfiguration:一个在behaviors节点中找到的名称。

  Binding配置节[可有可无]:配置绑定,如http,tcp等。

  Behavior配置节[可有可无]:配置行为,如认证等。

三、实例

 1 <?xml version="1.0"?>
 2 <configuration>
 3   <system.serviceModel>
 4
 5
 6     <!--服务-->
 7     <services>
 8       <!--name:名称空间.类型名-->
 9       <!--behaviorConfiguration:behavior的名称,请看behavior配置节的名称-->
10       <service name="WCFLibrary.User" behaviorConfiguration="MyBehavior">
11         <host>
12           <baseAddresses>
13             <!-- 每种传输协议的baseAddress,用于跟使用同样传输协议Endpoint定义的相对地址组成完整的地址,
14                  每种传输协议只能定义一个baseAddress。HTTP的baseAddress同时是service对外发布服务说明页面的URL -->
15             <add baseAddress="http://localhost:8732/Design_Time_Addresses/WCFLibrary/Service/"/>
16           </baseAddresses>
17         </host>
18         <!-- 除非完全限定,否则地址将与上面提供的基址相关,每个服务可以有多个Endpoint -->
19         <!-- Address:指定这个Endpoint对外的URI,这个URI可以是个绝对地址,也可以是个相对于baseAddress的
20                       相对地址。如果此属性为空,则这个Endpoint的地址就是baseAddress-->
21         <!--bindingConfiguration:binding的名称,请看binding配置节的名称-->
22         <endpoint address="" binding="wsHttpBinding" contract="WCFLibrary.IUser" bindingConfiguration="myHttpBinding">
23           <identity>
24             <dns value="localhost"/>
25           </identity>
26         </endpoint>
27         <!-- 此终结点不使用安全绑定,应在部署前确保其安全或将其删除-->
28         <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
29       </service>
30     </services>
31
32
33     <!--绑定-->
34     <bindings>
35       <wsHttpBinding>
36         <binding name="myHttpBinding">
37           <security mode="None">
38             <message clientCredentialType="Windows" />
39           </security>
40         </binding>
41       </wsHttpBinding>
42     </bindings>
43
44
45     <!--行为-->
46     <behaviors>
47       <serviceBehaviors>
48         <behavior name="MyBehavior">
49           <!-- httpGetEnabled - bool类型的值,表示是否允许通过HTTP的get方法获取sevice的WSDL元数据 -->
50           <serviceMetadata httpGetEnabled="True"/>
51         </behavior>
52       </serviceBehaviors>
53     </behaviors>
54
55   </system.serviceModel>
56 </configuration>

四、版权

  转载请注明出处:http://www.cnblogs.com/iamlilinfeng

WCF入门教程系列四的更多相关文章

  1. WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]

    WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...

  2. WCF入门教程(四)通过Host代码方式来承载服务

    WCF入门教程(四)通过Host代码方式来承载服务 之前已经讲过WCF对外发布服务的具体方式. WCF入门教程(一)简介 Host承载,可以是web,也可以是控制台程序等等.比WebService有更 ...

  3. WCF入门教程系列一

    一.概述 Windows Communication Foundation(WCF)是由微软发展的一组数据通信的应用程序开发接口,可以翻译为Windows通讯接口,它是.NET框架的一部分.由 .NE ...

  4. WCF入门教程系列三

    一.WCF服务应用程序与WCF服务库 我们在平时开发的过程中常用的项目类型有“WCF 服务应用程序”和“WCF服务库”. WCF服务应用程序,是一个可以执行的程序,它有独立的进程,WCF服务类契约的定 ...

  5. WCF入门教程系列五

    一.概述 WCF在通信过程中有三种模式:请求与答复.单向.双工通信.以下我们一一介绍. 二.请求与答复模式 描述: 客户端发送请求,然后一直等待服务端的响应(异步调用除外),期间处于假死状态,直到服务 ...

  6. WCF入门教程系列二

    一.概述 WCF能够建立一个跨平台的安全.可信赖.事务性的解决方案,是一个WebService,.Net Remoting,Enterprise Service,WSE,MSMQ的并集,有一副很经典的 ...

  7. WCF入门教程系列六

    一.前言 前面的几个章节介绍了很多理论基础,如:什么是WCF.WCF中的A.B.C.WCF的传输模式.本文从零开始和大家一起写一个小的WCF应用程序Demo. 大多框架的学习都是从增.删.改.查开始来 ...

  8. WPF入门教程系列四——Dispatcher介绍

    一.Dispatcher介绍 微软在WPF引入了Dispatcher,那么这个Dispatcher的主要作用是什么呢? 不管是WinForm应用程序还是WPF应用程序,实际上都是一个进程,一个进程可以 ...

  9. WPF入门教程系列四

    WPF之Binding的使用(二) 一.  前言 初学WPF经常被Binding搞得苦不堪言,Binding的重用性就不做介绍了,在WPF应用程序开发中Binding是一个非常重要的部分.WPF也是近 ...

随机推荐

  1. C/C++中逗号表达式的用法

    代码: #include <cstdio> #include <iostream> using namespace std; int main(){ int t1,t2; t1 ...

  2. .attr()和.prop()和.css()的区别

    是不是新手都会遇到这个问题?遇到过一次,在网上搜一搜,综合成了下面这样.重点参考了dolphin的‘jQuery的attr与prop’, 写的很清楚呢. 一般attribute翻译成中文术语为“特性” ...

  3. web标准(复习)--7 横向导航菜单

    今天我们开始学习html列表,包含以下内容和知识点: 横向列表菜单 用图片美化的横向导航 css Sprites 一.横向列表菜单前边学习过纵向导航菜单,又学习了float属性,那么要实现横向导航菜单 ...

  4. 智能的PHP缩图类

    *作者:落梦天蝎(beluckly)*完成时间:2006-12-18*类名:CreatMiniature*功能:生成多种类型的缩略图*基本参数:$srcFile,$echoType*方法用到的参数:$ ...

  5. CSAPP--虚拟存储器

    虚拟存储器 虚拟存储器(VM)是对主存的一种抽象概念.是硬件一场,硬件地址翻译,贮存,磁盘文件和内核软件的完美交互.他为每个进程提供了一个大的,一致的和私有的地址空间. 它将贮存堪称一个存储在磁盘上的 ...

  6. Codeforces 540D Bad Luck Island

    http://codeforces.com/problemset/problem/540/D 题目大意: 会出石头.剪刀.布的人分别有r,s,p个,他们相互碰到的概率相同,输的人死掉,问最终活下去的人 ...

  7. JS打印、预览(IE,Chrome)

    IE下: 调用IE内置打印组件完成web打印方案.IE调用ActiveX实现打印. 重点: 注意: 1.CSS对打印的控制: .Noprint{display:none;} .PageNext{pag ...

  8. Teach Yourself Scheme in Fixnum Days 13 Jump跳转

    Jumps One of the signal features of Scheme is its support for jumps or nonlocal control. Specificall ...

  9. ubuntu系统修改终端提示符及设置颜色高亮

    Linux终端大家想必都清楚吧,最近在使用的时候发现在进入到某个文件夹目录比较深的层次后,终端提示的绝对路径很长,这样给人的感觉很不习惯,在这里给大家介绍下如何修改终端的提示,顺便介绍下提示符的颜色: ...

  10. 关于我们-EIBOA易博男装-互联网品质男装品牌-在线销售男士西服,衬衫,外套,西裤,领带|全场免运费,30天退换货保障

    关于我们 - 网站底部 | ELLE中国 | ELLE China 关于赫斯特国际集团 男人尚--专注男人时尚 关于男人尚 这些数据,你知道吗? 1.全国至少1亿男人的衬衫尺码错误: 2.57%的男人 ...