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>
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。