我有一个IIS服务器,该服务器需要通过netTcpBinding连接到运行WCF服务的远程计算机。我可以连接到WCF服务,但问题是回调不起作用。我从未使用过IIS到WCF,所以我认为问题是配置文件,但是我尝试查找示例代码对我需要的特定配置没有好运。我在IIS上的web.config文件服务片段看起来像这样。
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="NET.TCP_EndPoint" closeTimeout="00:01:00" openTimeout="00:01:00" sendTimeout="00:10:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" maxBufferSize="2147483647" maxBufferPoolSize="0" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
<binding name="NET.Callback_EndPoint" closeTimeout="00:01:00" openTimeout="00:01:00" sendTimeout="00:10:00" transactionFlow="false" transferMode="Buffered" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard">
<readerQuotas maxDepth="32" maxStringContentLength="65536" maxArrayLength="16384" maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="true" />
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
<message clientCredentialType="Windows" />
</security>
</binding>
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://123.45.67.89:8228/My_Service" binding="netTcpBinding" bindingConfiguration="NET.TCP_EndPoint" contract="MyWCFService.IWCFService" name="NET.TCP_EndPoint">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<endpoint address="net.tcp://123.45.67.89:8230/My_CallbackService" binding="netTcpBinding" bindingConfiguration="NET.Callback_EndPoint" contract="MyWCFService.IWCFCallback" name="NET.Callback_EndPoint">
</endpoint>
</client>
</system.serviceModel>
这些IP显然是伪造的。我继承了此配置文件,因此没有历史记录。几件事情看起来不对,但到目前为止,我还没有弄清楚需要更改什么。 My_Service调用的标识是localhost,这似乎是错误的,但是我可以连接到该服务并正常运行。回调部分没有身份,但是我读了一些Microsoft文档,如果缺少身份,它将自动填充信息。有人可以给我一些有关问题是什么以及应如何配置的线索吗?谢谢。