zoukankan      html  css  js  c++  java
  • WCF配置文件注释

       1: <?xml version="1.0" encoding="utf-8" ?>
       2:   <configuration>
       3:        <system.ServiceModel>
       4:            <!-- services 元素包含应用中驻留的所有service的配置要求 -->
       5:            <services>
       6:                <!-- 每个服务的配置
       7:        属性说明:
       8:        name - 指定这个service配置是针对的那个服务,为一个实现了某些Contract的服务类的完全限定名
       9:           (名称空间.类型名),ServiceHost载入一个服务后,会到配置文件中的<services>下找有没有
      10:           name属性跟服务匹配的<service>的配置
      11:        behaviorConfiguration - 指定在<serviceBehaviors>下的一个<behavior>的name,这个特定<behavior>
      12:                    给这个service制定了一些行为,比如服务是否允许身份模拟-->
      13:                <service name="名称空间.类型名" behaviorConfiguration="behavior名">
      14:                     <host>
      15:                         <baseAddresses>
      16:                             <!-- 在此可以定义每种传输协议的baseAddress,用于跟使用同样传输协议Endpoint定义的相对地
      17:           址组成完整的地址,但是每种传输协议只能定义一个baseAddress。HTTP的baseAddress同时是service
      18:           对外发布服务说明页面的URL-->
      19:                             <add baseAddress="http://address" />
      20:                          
      21:             </baseAddresses>
      22:                         <timeouts></timeouts>
      23:                      
      24:           </host>
      25:                     <!-- 每个服务可以有多个Endpoint,下面<endpoint>元素对每个Endpoint分别进行配置
      26:          属性说明:
      27:          address - 指定这个Endpoint对外的URI,这个URI可以是个绝对地址,也可以是个相对于baseAddress的
      28:               相对地址。如果此属性为空,则这个Endpoint的地址就是baseAddress
      29:          binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,
      30:               比如是basicHttpBinding,也可以是自定义的customBinding。binding决定了通讯的类型、
      31:               安全、如何编码、是否基于session、是否基于事务等等
      32:          contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名),这个Contract应该被
      33:               service元素的name指定的那个service实现
      34:          bindingConfiguration - 指定一个binding的配置名称,跟<bindings>下面同类<binding>的name匹配
      35:           behaviorConfiguration - 指定这个endpoint的behavior,指向<behaviors>下的同样配置名称的<endpointBehaviors>
      36:          name - Endpoint的名称,可选属性,每个Contract都可以有多个Endpoint,但是每个Contract对应的
      37:             多个Endpoint名必须是唯一的-->
      38:                     <endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding名" behaviorConfiguration="String" name="">
      39:                         <!-- 用户定义的xml元素集合,一般用作SOAP的header内容-->
      40:                         <headers>
      41:                             <!-- 任何xml内容 -->
      42:                          
      43:             </headers>
      44:                      
      45:           </endpoint>
      46:                  
      47:         </service>
      48:             
      49:       </services>
      50:            <bindings>
      51:                <!-- 指定一个或多个系统预定义的binding,比如<basicHttpBinding>,当然也可以指定自定义的customBinding,
      52:        然后在某个指定的binding下建立一个或多个配置,以便被Endpoint来使用这些配置 -->
      53:                <basicHttpBinding>
      54:                     <!-- 某一类的binding的下面可能有多个配置,binding元素的name属性标识某个binding-->
      55:                     <binding name="binding名">
      56:                      
      57:           </binding>
      58:                  
      59:         </basicHttpBinding>
      60:             
      61:       </bindings>
      62:            <!-- 定义service和Endpiont行为-->
      63:            <behaviors>
      64:                <!-- 定义service的行为-->
      65:                <serviceBehaviors>
      66:                     <!-- 一个或多个系统提供的或定制的behavior元素
      67:          属性说明:
      68:          name - 一个behavior唯一标识,<service>元素下<endpoint>的behaviorConfiguration属性指向这个name-->
      69:                     <behavior name="此Behavior名称">
      70:                         <!-- 指定service元数据发布和相关信息
      71:            属性说明:
      72:            httpGetEnabled - bool类型的值,表示是否允许通过HTTP的get方法获取sevice的WSDL元数据
      73:            httpGetUrl - 如果httpGetEnabled为true,这个属性指示使用哪个URL地址发布服务的WSDL,
      74:                  如果这个属性没有设置,则使用服务的HTTP类型的baseAddress后面加上?WSDL-->
      75:                         <serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" />
      76:                         <!--指定验证服务端的凭据-->
      77:                         <serviceCredentials>
      78:                             <!--指定服务端的证书
      79:              属性说明:
      80:              storeName - 证书的存储区,可能值为:AddressBook,AuthRoot,CertificateAuthority
      81:                    Disallowed,My,Root,TrustedPeople,TrustedPublisher
      82:              storeLocation - 证书存储位置,可能值为:CurrentUser,LocalMachine
      83:               x509FindType - 查找证书的方式,可能的值:FindBySubjectName,FindByThumbPrint,FindByIssuerName......
      84:               findValue - 对应查找方式的要查找证书的值          -->
      85:                             <serviceCertificate storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="server1" />
      86:                          
      87:             </serviceCredentials>
      88:                      
      89:           </behavior>
      90:                  
      91:         </serviceBehaviors>
      92:                <!-- 定义Endpiont的行为-->
      93:                <endpointBehaviors>
      94:                     <!-- 一个或多个系统提供的或定制的behavior元素
      95:          属性说明:
      96:          name - 一个behavior唯一标识,<client>元素下<endpoint>的behaviorConfiguration属性指向这个name-->
      97:                     <behavior name="此Behavior名称">
      98:                         <!--指定客户端的凭据-->
      99:                         <clientCredentials>
     100:                             <!--指定客户端的证书
     101:              属性说明:
     102:              storeName - 证书的存储区,可能值为:AddressBook,AuthRoot,CertificateAuthority
     103:                    Disallowed,My,Root,TrustedPeople,TrustedPublisher
     104:              storeLocation - 证书存储位置,可能值为:CurrentUser,LocalMachine
     105:               x509FindType - 查找证书的方式,可能的值:FindBySubjectName,FindByThumbPrint,FindByIssuerName......
     106:               findValue - 对应查找方式的要查找证书的值          -->
     107:                             <clientCertificate storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="Client1" />
     108:                              <serviceCertificate>
     109:                                  <authentication certificateValidationMode="None" />
     110:                               
     111:               </serviceCertificate>
     112:                          
     113:             </clientCredentials>
     114:                      
     115:           </behavior>
     116:                  
     117:         </endpointBehaviors>
     118:             
     119:       </behaviors>
     120:            <!-- 包含客户端跟服务端连接使用到的Endpoint的配置 -->
     121:            <client>
     122:                <!-- 每个客户端Endpoint设置
     123:        属性说明:
     124:        address - 对应到服务端这个Endpoint的address
     125:        binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,
     126:             比如是basicHttpBinding
     127:        contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名)
     128:        name - Endpoint的配置名,客户端代理类的构造方法中的endpointConfigurationName对应到这个name
     129:        bindingConfiguration - 指定客户端binding的具体设置,指向<bindings>元素下同类型binding的name
     130:        behaviorConfiguration - 指定这个endpoint的behavior,指向<behaviors>下的同样配置名称的<endpointBehaviors>-->
     131:                <endpoint address="URI" binding="basicHttpBinding" bindingConfiguration="binding名" behaviorConfiguration="String" contract="Contract全限定名" name="endpoint配置名" >
     132:                     <!-- 用于客户端验证服务端身份,可选以下一种方式验证服务端-->
     133:                     <identity>
     134:                         <userPrincipalName></userPrincipalName>
     135:                         <servicePrincipalName></servicePrincipalName>
     136:                         <!--如果客户端验证是windows,这里指定DNS名;如果是Certificate,这里指定证书subject name-->
     137:                         <dns></dns>
     138:                         <rsa></rsa>
     139:                         <!--指定服务端证书的公钥
     140:                属性说明:
     141:               encodedValue - 服务端证书的公钥的base64编码,用于加密用户名和密码-->
     142:                         <certificate encodedValue=""></certificate>
     143:                         <!-- 用户指定在客户端证书存储区内的服务端证书
     144:              属性说明:
     145:              storeName - 证书的存储区,可能值为:AddressBook,AuthRoot,CertificateAuthority
     146:                    Disallowed,My,Root,TrustedPeople,TrustedPublisher
     147:              storeLocation - 证书存储位置,可能值为:CurrentUser,LocalMachine
     148:               x509FindType - 查找证书的方式,可能的值:FindBySubjectName,FindByThumbPrint,FindByIssuerName......
     149:               findValue - 对应查找方式的要查找证书的值          -->
     150:                         <certificateReference storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="Client1" />
     151:                      
     152:           </identity>
     153:                  
     154:         </endpoint>
     155:             
     156:       </client>
     157:         
     158:     </system.ServiceModel>
     159:   </configuration>

  • 相关阅读:
    mysql 函数 存储过程 事件(event) job 模板
    protobuf 无proto 解码 decode 语言 java python
    mitmproxy fiddler 抓包 填坑
    android adb 常用命令
    android机器人 模拟 踩坑过程
    RabbitMQ添加新用户并支持远程访问
    Windows下RabbitMQ安装及配置
    Java mybatis mysql 常用数据类型对应关系
    easyExcel 踩坑
    linux防火墙查看状态firewall、iptable
  • 原文地址:https://www.cnblogs.com/HeroBeast/p/1435470.html
Copyright © 2011-2022 走看看