WCF使用IIS发布服务的配置

  关于WCF开发的服务,如果使用IIS发布部署的,对于Web.Config文件中的配置还是相对严格,如果客户端和服务端的配置不一致就会出现莫名其妙的问题,让人及其头疼,所以要对WCF的配置设置非常熟悉。

View Code
<system.serviceModel>
    <bindings>
      <basicHttpBinding>
      </basicHttpBinding>
      <wsHttpBinding>
        <binding name="wsTSBinding" maxReceivedMessageSize="2147483647" messageEncoding="Text" receiveTimeout="00:30:00" sendTimeout="00:30:00">
          <security mode="Message">
            <!--定义消息级安全性要求的类型,为Windows、用户名、证书-->
            <message clientCredentialType="Windows" />
            <transport clientCredentialType="None" />
          </security>
          <!--<security mode="Transport">
            <transport clientCredentialType="None" />
          </security>-->
        </binding>
      </wsHttpBinding>
      <netMsmqBinding>
      </netMsmqBinding>
      <netTcpBinding>
        
      </netTcpBinding>
    </bindings>
    <services>
      <service name="WcfService1.Persons" behaviorConfiguration="WCFServiceBehavior">
        <!-- Service Endpoints -->
        <endpoint address="" binding="wsHttpBinding" bindingConfiguration="wsTSBinding" contract="WcfService1.IPersons">
          <!-- 
              Upon deployment, the following identity element should be removed or replaced to reflect the 
              identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
              automatically.
          -->
          <identity>
            <!--dns value的值设置为:WCFServerCA,就是证书的名称-->
            <!--<dns value="WCFCert" />-->
          </identity>
        </endpoint>
        <!--<endpoint
          address="http://localhost:9008/StockService.svc"
          binding="basicHttpBinding" contract="WcfService1.IStockService">
        </endpoint>-->
        <!--<endpoint
          address="net.msmq://localhost:9007/Persons.svc"
          binding="netMsmqBinding" contract="WcfService1.IPersons">
        </endpoint>
        <endpoint
          address="net.tcp://localhost:9006/Persons.svc"
          binding="netTcpBinding" contract="WcfService1.IPersons">
        </endpoint>-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:9009/"/>
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="WCFServiceBehavior">
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false 并删除上面的元数据终结点 -->
          <serviceMetadata httpGetEnabled="true" />
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息 -->
          <serviceDebug includeExceptionDetailInFaults="false" />
          <!--<serviceAuthenticationManager serviceAuthenticationManagerType="Negotiate, Digest, Basic"/>-->
          <serviceCredentials>
            <!--指定一个 X.509 证书,用户对认证中的用户名密码加密解密-->
            <!--<serviceCertificate findValue="WCFCert" x509FindType="FindBySubjectName" storeLocation="CurrentUser" />-->
            <!--自定义用户名和密码验证的设置-->
            <!--<userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="WcfService1.CustomValidators.MyCustomValidator,WcfService1" />-->
            <clientCertificate>
              <!-- 客户凭据验证模式为 None 不验证 -->
              <authentication certificateValidationMode="None" />
            </clientCertificate>
          </serviceCredentials>
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
  </system.serviceModel>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值