У меня есть IIS-сервер, который должен подключиться через netTcpBinding к удаленной машине, на которой запущена служба WCF.Я могу подключиться к службе WCF, но проблема в том, что обратный вызов не работает.Я никогда не использовал IIS для WCF, поэтому я думаю, что проблема в файле конфигурации, но я попытался найти пример кода без удачи для конкретной конфигурации, которая мне нужна.Мой фрагмент файловой службы web.config в IIS выглядит следующим образом.
<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, что если идентификатор отсутствует, он автоматически заполнит информацию.Может кто-нибудь подсказать мне, в чем проблема и как ее нужно настроить?Спасибо.