WCF使用net.tcp绑定时的注意事项

IIS Express没有net.tcp绑定功能,本地测试的话只能使用本机的IIS进行承载,并且需要相应的配置(参见上一篇文章)。

算了,直接举一个配置例子吧,懒得写了。。。

<system.serviceModel>
    <bindings>
      <basicHttpBinding>
        <!--默认http绑定的配置,这里提高了最大传输信息的大小,如不需要可以不设置绑定配置-->
        <binding name="DefaultBasicHttpBinding"  maxBufferSize="10485760" maxReceivedMessageSize="10485760" />
      </basicHttpBinding>
      <netTcpBinding>
        <!--默认net.tcp绑定的配置,貌似必须要对net.tcp方式绑定进行配置-->
        <binding name="DefaultNetTcpBinding" portSharingEnabled="true" transferMode="Buffered">
          <security mode="None" />
        </binding>
      </netTcpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <!-- 为避免泄漏元数据信息,请在部署前将以下值设置为 false -->
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <!-- 要接收故障异常详细信息以进行调试,请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息-->
          <serviceDebug includeExceptionDetailInFaults="true" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <services>
      <service name="WcfTest.DataService">
        <!-- endpoint 的 address 属性:
              1、使用绝对路径(网址);
              2、如果使用相对路径(网址),则将根据 host 的 baseAddress 确定最终路径(网址)。 -->
        
        <!--http绑定方式-->
        <endpoint address="" binding="basicHttpBinding" contract="WcfTest.IDataService" bindingConfiguration="DefaultBasicHttpBinding" />
        <!--net.tcp绑定方式-->
        <endpoint address=""  binding="netTcpBinding" contract="WcfTest.IDataService" bindingConfiguration="DefaultNetTcpBinding" />

        <!-- 元数据交换(mex)终结点供相应的服务用于向客户端做自我介绍。此终结点不使用安全绑定,应在部署前确保其安全或将其删除 -->
        
        <!--为http绑定提供元数据-->
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <!--为net.tcp绑定提供元数据-->
        <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange" />
        
        <!--承载WCF服务的基地址。
            注:当使用ASP.NET网站承载WCF服务时,网站需要使用svc文件进行承载服务,此时基地址将变成svc文件的地址。
        -->
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost/Design_Time_Addresses/DataService/" />
          </baseAddresses>
        </host>
      </service>
    </services>
  </system.serviceModel>

你可能感兴趣的:(WCF)