Соединение IIS с WCF не будет вызывать IIS - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть 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, что если идентификатор отсутствует, он автоматически заполнит информацию.Может кто-нибудь подсказать мне, в чем проблема и как ее нужно настроить?Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...