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

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

<?xml version="1.0" encoding="utf-8" ?>

<configuration>

    <!-- <system.ServiceModel> section -->

    <system.ServiceModel>

        <!-- services 元素包含应用中驻留的所有service的配置要求 -->

        <services>

            <!-- 每个服务的配置

             属性说明: 

             name - 指定这个service配置是针对的那个服务,为一个实现了某些Contract的服务类的完全限定名

                   (名称空间.类型名),ServiceHost载入一个服务后,会到配置文件中的<services>下找有没有

                   name属性跟服务匹配的<service>的配置 

             behaviorConfiguration - 指定在<serviceBehaviors>下的一个<behavior>的name,这个特定<behavior>

                                     给这个service制定了一些行为,比如服务是否允许身份模拟-->

            <service name="名称空间.类型名" behaviorConfiguration="behavior名">

                <!-- 每个服务可以有多个Endpoint,下面<endpoint>元素对每个Endpoint分别进行配置

                 属性说明: 

                 address - 指定这个Endpoint对外的URI,这个URI可以是个绝对地址,也可以是个相对于baseAddress的

                           相对地址。如果此属性为空,则这个Endpoint的地址就是baseAddress

                 binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,

                           比如是basicHttpBinding,也可以是自定义的customBinding。binding决定了通讯的类型、

                           安全、如何编码、是否基于session、是否基于事务等等

                 contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名),这个Contract应该被

                            service元素的name指定的那个service实现 

                 bindingConfiguration - 指定一个binding的配置名称,跟<bindings>下面同类<binding>的name匹配

                 name - Endpoint的名称,可选属性,每个Contract都可以有多个Endpoint,但是每个Contract对应的

                        多个Endpoint名必须是唯一的-->

                <endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding名" name="">

                    <!-- 用户定义的xml元素集合,一般用作SOAP的header内容-->

                    <headers>

                        <!-- 任何xml内容 -->

                    </headers>

                    <identity>

                        <!-- <identity>下的元素都是可选的-->

                        <userPrincipalName></userPrincipalName>

                        <servicePrincipalName></servicePrincipalName>

                        <dns></dns>

                        <rsa></rsa>

                        <certificate encodedValue=""></certificate>

                        <!-- <certificateReference>的属性都是可选的

                         属性说明:

                         storeName - 证书的存储区,可能值为:AddressBook,AuthRoot,CertificateAuthority

                                     Disallowed,My,Root,TrustedPeople,TrustedPublisher

                         storeLocation - 证书存储位置,可能值为:CurrentUser,LocalMachine-->

                        <certificateReference storeName="" storeLocation="">

                        </certificateReference>

                    </identity>

                </endpoint>

                <host>

                    <baseAddresses>

                        <!-- 在此可以定义每种传输协议的baseAddress,用于跟使用同样传输协议Endpoint定义的相对地

                    址组成完整的地址,但是每种传输协议只能定义一个baseAddress。HTTP的baseAddress同时是service

                    对外发布元数据的URL-->

                        <add baseAddress="http://address" />

                    </baseAddresses>

                    <timeouts></timeouts>

                </host>

            </service>

        </services>

 

        <bindings>

            <!-- 指定一个或多个系统预定义的binding,比如<basicHttpBinding>,当然也可以指定自定义的customBinding,

             然后在某个指定的binding下建立一个或多个配置,以便被Endpoint来使用这些配置 -->

            <basicHttpBinding>

                <!-- 某一类的binding的下面可能有多个配置,binding元素的name属性标识某个binding-->

                <binding name="binding名">

                </binding>

            </basicHttpBinding>

        </bindings>

        <!-- 定义service和Endpiont行为-->

        <behaviors>

            <!-- 定义service的行为-->

            <serviceBehaviors>

                <!-- 一个或多个系统提供的或定制的behavior元素

                 属性说明:

                 name - 一个behavior唯一标识,<service>元素的behaviorConfiguration属性指向这个name-->

                <behavior name="">

                    <!-- 指定service元数据发布和相关信息

                     属性说明:

                     httpGetEnabled - bool类型的值,表示是否允许通过HTTP的get方法获取sevice的WSDL元数据

                     httpGetUrl - 如果httpGetEnabled为true,这个属性指示使用哪个URL地址发布服务的WSDL,

                                  如果这个属性没有设置,则使用服务的HTTP类型的baseAddress后面加上?WSDL-->

                    <serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" />

                </behavior>

            </serviceBehaviors>

            <!-- 定义Endpiont的行为-->

            <endpointBehaviors>

            </endpointBehaviors>

        </behaviors>

        <!-- 包含客户端跟服务端连接使用到的Endpoint的配置 -->

        <client>

            <!-- 每个客户端Endpoint设置

             属性说明:

             address - 对应到服务端这个Endpoint的address

             binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,

                       比如是basicHttpBinding

             contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名)

             name - Endpoint的配置名,客户端代理类的构造方法中的endpointConfigurationName对应到这个name

             bindingConfiguration - 指定客户端binding的具体设置,指向<bindings>元素下同类型binding的name -->

            <endpoint address="URI"

                binding="basicHttpBinding" bindingConfiguration="binding名"

                contract="Contract全限定名" name="endpoint配置名" />

        </client>

    </system.ServiceModel>

</configuration>

转自 Weichuo

WCF配置文件详解 【转】

时间: 2025-01-17 02:10:10

WCF配置文件详解 【转】的相关文章

WCF配置文件详解

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

[转]Web.config配置文件详解(新手必看)

本文转自:http://www.cnblogs.com/gaoweipeng/archive/2009/05/17/1458762.html 花了点时间整理了一下ASP.NET Web.config配置文件的基本使用方法.很适合新手参看,由于Web.config在使用很灵活,可以自定义一些节点.所以这里只介绍一些比较常用的节点. <?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以

ASP.NET中Web.Config配置文件详解与应用

1.首先是Web.Config配置文件详解的参数含义(具体内容都在以下代码中有注释-我从网上找到的) 1 <?xml version="1.0" encoding="utf-8"?> 2 3 <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中 4 的“网站”->“Asp.Net 配置”选项. 5 6 设置和注释的完整列表在 machine.config.comm

[转载]WebConfig配置文件详解

<?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项. 设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 "Windows"Microsoft.Net"Framework"v2.x"Config 中.--&g

WebConfig配置文件详解 。。转载

<?xml version="1.0"?> <!--注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来配置应用程序的设置.可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项. 设置和注释的完整列表在 machine.config.comments 中,该文件通常位于 "Windows"Microsoft.Net"Framework"v2.x"Config 中.--&g

监控服务 - Nagios配置文件详解

一.Nagios的配置文件类型: Nagios安装后有四种默认的配置文件:主配置文件.CGI配置文件.资源定义文件.对象定义文件.这些配置文件间具有一些关系,只有充分理解各配置文件,才能使得配置Nagios服务如行云流水. 二.Nagios配置文件详解: 1.主配置文件(nagios.cfg): Nagios的主配置文件是用来定义Nagios服务的基本参数信息的,其中包括:对象定义文件的声明.CGI配置文件的声明.资源定义文件的声明等.其常用参数如下: log_file=/usr/local/n

Hadoop1.2.1 配置文件详解

首先我们先回顾一下Hadoop的一些概念: Apache Hdoop 1.x 组成 NameNode(元数据服务器) Secondary NameNode(辅助元数据服务器) JobTracker(任务调度员) DataNodes(块存储) TaskTrackers(任务执行) HDFS文件系统 NameNoode:属于管理层,用于管理数据存储 SecondaryNameNode:也属于管理层,辅助NameNode进行管理 DataNode:属于应用层,用户进行数据的存储,被NameNode进行

ThinkPHP源码阅读2-----C函数配置文件详解

ThinkPHP的配置非常灵活,可自定义加载.大概看了一下,一共有这几个地方会加载配置文件,方便以后的读取 /** * 获取和设置配置参数 支持批量定义 * * @param string|array $name * 配置变量 * @param mixed $value * 配置值 * @return mixed */ function C($name = null, $value = null) { static $_config = array (); // 无参数时获取所有 if (emp

Zabbix配置文件详解之服务端——zabbix_server

作为zabbix的部署,这里就不说了,网上一大堆文档,但关于配置文件的说明就比较少,这里列出服务端的配置文件zabbix_server的详细解释,感谢我主管的功劳. Zabbix Server端配置文件说明 # This is a configuration file for Zabbix Server process # To get more information about Zabbix, # visit http://www.zabbix.com ############ GENERA