让我们看看服务器配置和客户端配置。然后帮我找到这些配置之间的区别!!
<system.serviceModel>
<client>
<endpoint address="http://localhost/admin2/AdminCentralService.svc"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_Config"
contract="TIR.ThreeTier.ICommandInvoker"
name="AdminCentralServiceConfig" />
<endpoint binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_Config"
contract="TIR.ThreeTier.ICommandInvoker"
name="CommandInvokerConfig" />
</client>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_Config"
closeTimeout="00:10:00"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Mtom"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="AdminCentral.Business.Web.Service1Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_Config"
closeTimeout="00:10:00"
openTimeout="00:10:00"
receiveTimeout="00:10:00"
sendTimeout="00:10:00"
bypassProxyOnLocal="false"
transactionFlow="false"
hostNameComparisonMode="StrongWildcard"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647"
messageEncoding="Mtom"
textEncoding="utf-8"
useDefaultWebProxy="true"
allowCookies="false">
<readerQuotas maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647"/>
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false"/>
<security mode="Message">
<transport clientCredentialType="Windows" proxyCredentialType="None" realm=""/>
<message clientCredentialType="Windows"
negotiateServiceCredential="true"
algorithmSuite="Default"
establishSecurityContext="true"/>
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="AdminCentral.Business.Web.Service1Behavior"
name="AdminCentral.Business.Web.AdminCentralService">
<endpoint address=""
binding="wsHttpBinding"
contract="AdminCentral.Business.Web.ICommandInvoker">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
答案 0 :(得分:9)
要使用自定义绑定,您需要在客户端和服务器端指定 bindingConfiguration
属性。像这样:
服务器端:
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_Config"
contract="AdminCentral.Business.Web.ICommandInvoker">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
客户端:
<endpoint address="!!__!_server_address_!__!!"
binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_Config"
contract="AdminCentral.Business.Web.ICommandInvoker">
</endpoint>