• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

kenny2008

  • 管理

View Post

WCF Service 配置文件注释

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
      <system.servicemodel>
          <!-- services 元素包含应用中驻留的所有service的 配置要求 -->
         <services>
              <!-- 每个服务的配置属性说明:
                name  - 指 定这个service配置是针对的那个服务,为 一个实现了某些contract的服务类的完全
                   
   
限定名
(名称空间.类型名),servicehost载入一个服务后,会 到配置文件中的 下找有
                   
   
没有
name属性跟服务匹配的 的配置
                 behaviorconfiguration - 指定在下的一个的name,这个特定给这个service制定了一些行为,
                      
比 如服务是否答应身份模拟
-->
              <service name="名称空间.类型名" behaviorconfiguration="behavior名">
                   <host>
                        <baseaddresses>
                             <!-- 在此可以定义每种传输协议的baseaddress, 用于跟使用同样传输协议endpoint定义的相对地
                     址组成完整的地址,但是每种传输协议只能定义一个baseaddress。http的baseaddress同时是service
                    对外发布服务说明页面的url-->
                             <add baseaddress="http://address"  />
                       </baseaddresses>
                        <timeouts></timeouts>
                    </host>
                    <!-- 每个服务可以有多个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的配置名称,跟下面同 类的name匹配
                    behaviorconfiguration  - 指 定这个endpoint的behavior, 指向 下的同样配置名称的
                  name - endpoint的名称,可选属性,每个contract都可以有多个endpoint,但是每个contract对应的
                        多个endpoint名必须是唯一的-->
                    <endpoint address="uri" binding="basichttpbinding" contract="contract全限定名" bindingconfiguration="binding名" behaviorconfiguration="string" name="">
                        <!-- 用户定义的xml元素集合, 一般用作soap的header内容-->
                        <headers>
                             <!-- 任何xml内容 -->
                        </headers>
                    </endpoint>
               </service>
          </services>
          <bindings>
               <!-- 指定一个或多个系统预定义的binding, 比如,当然也可以指定自定义的custombinding,
             然后在某个指定的binding下建立一个或多个配置,以便被endpoint来 使用这些配置 -->
              <basichttpbinding>
                    <!-- 某一类的binding的下 面可能有多个配置,binding元素的name属 性标识某个binding-->
                    <binding name="binding名">
                    </binding>
               </basichttpbinding>
          </bindings>
          <!-- 定义service和endpiont行为-->
          <behaviors>
               <!-- 定义service的行为-->
               <servicebehaviors>
                    <!-- 一个或多个系统提供的或定制的behavior元 素
                 属性说明:
                  name - 一个behavior唯一标识,元素下的behaviorconfiguration属 性指向这个name-->
                    <behavior name="此behavior名称">
                        <!-- 指定service元数据发 布和相关信息
                      属性说明:
                     httpgetenabled  - bool类型的值,表示是否答应通过http的get方 法获得sevice的wsdl元数据
                     httpgeturl  - 如 果httpgetenabled为true, 这个属性指示使用哪个url地址发布服务的wsdl,
                                   假如这个属性没有设置,则使用服务的http类型的baseaddress后面加上?wsdl-->
                        <servicemetadata httpgetenabled="true" httpgeturl="http://uri:port/address" />
                       <!--指定验证服务端的凭据-->
                        <servicecredentials>
                             <!--指定服务端的证书
                          属性说明:
                         storename  - 证 书的存储区,可能值为:addressbook,authroot,certificateauthority
                                      disallowed,my,root,trustedpeople,trustedpublisher
                          storelocation - 证书存储位置,可能值为:currentuser,localmachine
                              x509findtype - 查找证书的方式,可能的值:findbysubjectname,findbythumbprint,findbyissuername......
                              findvalue - 对应查找方式的要查找证书的值                   -->
                             <servicecertificate storename="存储区" storelocation="存储位置" x509findtype="findbysubjectname" findvalue="server1" />
                        </servicecredentials>
                    </behavior>
               </servicebehaviors>
               <!-- 定义endpiont的行为-->
               <endpointbehaviors>
                    <!-- 一个或多个系统提供的或定制的behavior元 素
                 属性说明:
                  name - 一个behavior唯一标识,元素下的behaviorconfiguration属 性指向这个name-->
                    <behavior name="此behavior名称">
                        <!--指定客户端的凭据-->
                        <clientcredentials>
                             <!--指定客户端的证书
                          属性说明:
                         storename  - 证 书的存储区,可能值为:addressbook,authroot,certificateauthority
                                      disallowed,my,root,trustedpeople,trustedpublisher
                          storelocation - 证书存储位置,可能值为:currentuser,localmachine
                              x509findtype - 查找证书的方式,可能的值:findbysubjectname,findbythumbprint,findbyissuername......
                              findvalue - 对应查找方式的要查找证书的值                   -->
                             <clientcertificate storename="存储区" storelocation="存储位置" x509findtype="findbysubjectname" findvalue="client1" />
                             <servicecertificate>
                                  <authentication certificatevalidationmode="none" />
                             </servicecertificate>
                        </clientcredentials>
                    </behavior>
               </endpointbehaviors>
          </behaviors>
          <!-- 包含客户端跟服务端连接使用到的endpoint的 配置 -->
         <client>
              <!-- 每个客户端endpoint设置
             属性说明:
             address  - 对 应到服务端这个endpoint的address
              binding - 指定这个endpoint使用的binding,这个banding可以是系统预定义的9个binding之一,
                       比如是basichttpbinding
             contract  - 指 定这个endpoint对应的contract的 全限定名(名称空间.类型名)
             name -  endpoint的配置名,客户端代理类的构造方法中的endpointconfigurationname对 应到这个name
             bindingconfiguration  - 指 定客户端binding的具体设置,指向元 素下同类型binding的name
                behaviorconfiguration - 指定这个endpoint的behavior,指向 下的同样配置名称的 -->
               <endpoint address="uri" binding="basichttpbinding" bindingconfiguration="binding名" behaviorconfiguration="string" contract="contract全限定名" name="endpoint配置名" >
                   <!-- 用于客户端验证服务端身份,可选以下一种方式验证服务端-->
                    <identity>
                        <userprincipalname></userprincipalname>
                        <serviceprincipalname></serviceprincipalname>
                        <!--假如客户端验证是windows,这里指定dns名;假如是certificate, 这里指定证书subject name-->
                        <dns></dns>
                        <rsa></rsa>
                        <!--指定服务端证书的公钥
                             属性说明:
                             encodedvalue - 服务端证书的公钥的base64编码,用于加密用户名和 密码-->
                       <certificate encodedvalue=""></certificate>
                        <!-- 用户指定在客户端证书存储区内的服务端证书
                          属性说明:
                         storename  - 证 书的存储区,可能值为:addressbook,authroot,certificateauthority
                                      disallowed,my,root,trustedpeople,trustedpublisher
                          storelocation - 证书存储位置,可能值为:currentuser,localmachine
                              x509findtype - 查找证书的方式,可能的值:findbysubjectname,findbythumbprint,findbyissuername......
                              findvalue - 对应查找方式的要查找证书的值                   -->
                        <certificatereference storename="存储区" storelocation="存储位置" x509findtype="findbysubjectname" findvalue="client1" />
                    </identity>
               </endpoint>
          </client>
      </system.servicemodel>
</configuration>

posted on 2010-11-13 08:50  kenny2008  阅读(155)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3