WCF配置文件

WCF的配置文件共分为两部分:服务端配置与客户端配置。两者由于功能的不同,在配置文件的使用上也略有不同。

1.WCF的服务端配置

服务端的配置文件主要包括endpoint、binding、behavior的配置。一个标准的服务端配置文件所包含的主要xml配置节如下所示:

<?xmlversion="1.0"encoding="utf-8"?>

<configuration>

<system.serviceModel>

<!-- 看到services节,就表明这是在定义服务相关的内容 -->

<services>

<!-- 定义一个服务,name是契约实现类的全名 -->

<servicename="Server.DataProvider">

<!-- 既然要对外提供服务,就要有服务地址,此处定义为 http://localhost:8080/wcf,需要注意,地址总是带着类型标头的 -->

<host>

<baseAddresses>

<addbaseAddress="http://localhost:8080/wcf"/>

</baseAddresses>

</host>

<!-- 定义一下终节点,address一般为空,如果不为空,最终服务地址就是在baseAddress的基础上加上这个address,binding指定为basicHttpBinding,这是最基础的基于http的绑定方式,contract标明这是为哪个契约服务 -->

<endpoint address="" binding="basicHttpBinding"contract="Server.IData"/>

</service>

</services>

</system.serviceModel>

注解:

<services>配置节
在<services>配置节中可以定义多个服务,每一个服务都被放到<service>配置节中,WCF的宿主程序可以通过配置文件找到这些定义的服务并发布这些服务。
<service>配置节包含name和behaviorConfiguration属性。其中,name配置了实现Service Contract的类型名。类型名必须是完整地包含了命名空间和类型名。而behaviorConfiguration的配置值则与其后的<behaviors>配置节的内容有关。<endpoint>是<service>配置节的主体,其中,<endpoint>配置节包含了endpoint的三个组成部分:Address、Binding和Contract。由于具体的binding配置是在<bindings>配置节中完成,因而,在<endpoint>中配置了bindingConfiguration属性,指向具体的binding配置。</services>

我们也可以定义多个endpoint,例如:
<services>
  <service 
      name="Microsoft.ServiceModel.Samples.CalculatorService"
      behaviorConfiguration="CalculatorServiceBehavior">
    <endpoint address=""
             binding="wsHttpBinding"
             contract="Microsoft.ServiceModel.Samples.ICalculator" />
    <endpoint address="mex"
             binding="mexHttpBinding"
             contract=" Microsoft.ServiceModel.Samples.IMetadataExchange" />
  </service>
</services>

时间: 2024-10-13 17:43:39

WCF配置文件的相关文章

[转]使用代码去描述WCF配置文件

转自:使用代码去描述WCF配置文件 在应用程序部署的时候,WCF客户端因为服务器地址的变化,需要修改程序配置文件的地址URL,手动修改很不方便,还会造成错误,所以尽量把描述WCF配置文件的配置使用代码方式进行描述,通过在软件中输入服务器IP地址的方式,动态修改访问的URL,这样比较方便,也不会出错,导致程序运行异常. 下面我将一个WCF部署文件采用代码方式描述: WCF客户端的配置文件: <?xml version="1.0" encoding="utf-8"

WCF配置文件详解 【转】

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

wcf 配置文件

服务和行为是并列的 对应到配置文件中  wcf的配置在system.serviceModel中 可以有多个服务 一个服务会有一个主机以及多个终结点 主机包含多个基址 baseAddress 终结点,由三部分组成  地址,绑定,契约   Address,Binding,Contract 行为可以包含多种,目前只用服务行为 务必注意下图中的HttpsEnabled设置为true是错误的,正确的设置,应该和Host中的baseAddress匹配,设置HttpEnabled属性为true Http和Ht

WCF配置文件详解

今天来看看WCF的配置方法. 上图整理了服务配置过程中所用到的基本的元素,大致的步骤主要是首先要在调用服务的程序集中添加服务的一个引用,然后添加一个service并指定服务的名称.终结点,如果添加了behavior(行为)的配置,那么也需要添加一个behaviorConfiguration的配置信息.在添加一个service时会在其中指定终结点的信息,终结点说的就是服务的具体信息访问方式,在终结点中添加服务address及binding信息和contract(服务契约)信息等.在endpoint

WCF重写ServiceHost,实现独立配置文件

原文地址:http://www.cnblogs.com/Gyoung/p/3651076.html 有时我们需要将WCF的配置文件放在单独的配置文件中,而默认情况下WCF又是在web.config或app.config中去寻找服务配置.如果我们把配置文件放在另一个config文件中,如何让WCF知道呢? 答案就是重写ServiceHost.在重写中告诉WCF配置文件的路径. public class MyServiceHost:ServiceHost { private string Confi

WCF通过SVCUtil.exe生成客户端代理类和配置文件(转)

WCF服务调用通过两种常用的方式: 1:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式. 2:一种是通过ChannelFactory直接创建服务代理对象进行服务调用. 本文只针对通过SvcUtil.exe工具生成代理类和对应配置文件来讲 一:通过cmd命令行生成代理类和对应配置文件 1.找到如下地址“C:\Windows\System32\cmd.exe”  命令行工具,右键以管理员身份运行(视系统是否为win7 而定) 2.输入如下命令: C:\>cd C:\Program

WCF入门二[WCF的配置文件]

一.概述 往往在很多项目中数据库连接字符串.变量和一些动态的加载类会写在配置文件中.WCF也会在配置文件中写入一些配置参数,比如服务的地址.服务用于发送和接收消息的传输和消息编码等,通过配置文件可以灵活的修改,不需要再编译. 二.终结点Endpoint 首先我们需要了解WCF的一个概念就是终结点Endpoint,WCF服务通过定义一个或者多个终结点,当服务端和客户端的终结点相互匹配的时候才可以完成通信.终结点Endpoint由三部分组成Address.Binding和Contract. Addr

WCF回顾一、基本概念和应用场景

一.WCF描述 wcf是一款基于面向服务的架构的通讯框架平台,在分布式框架中得到了广泛使用. wcf入门非常简单,只要花几分钟就能编写一个完整的wcf程序,而实际上WCF是概念非常多的一门技术,需要花很大精力去深入研究. 二.WCF优点 1.将各种通讯技术进行整合 WCF是对于 Web Service,Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合 表示层可以基于 soap XML传输  和 rest  http调用 传输层可以基于 http htt

WCF发布后远程访问的域名解析问题

环境: VS2010 sp1,.net framework 4.0,windows server 2003 x64 ,iis 6.0 症状: WCF开发测试,本地调用都正常.发布后,在浏览器中访问http://ip/Service.svc,可以正常浏览,但svcutil.exe 显示的是域名:http://域名/Service.svc. 在VS中,添加服务引用,地址输入http://ip/Service.svc,点击前往,提示错误,内容如下: URI http://ip/Service.svc