Какова правильная привязка WCF net.tcp для этого сценария? - PullRequest
1 голос
/ 01 июля 2010

У меня есть служба WCF, которая размещена в службе Windows и имеет конечную точку net.tcp. Клиенты находятся в той же локальной сети (рабочей группе), что и служба, но у них нет учетных записей Windows на сервере.

PS: когда я устанавливаю Security.Mode значение None на клиенте и сервере, я получаю следующую ошибку:

Запрошенное обновление не поддерживается by {{SERVICE ADDRESS} 'Это может быть связано с несовпадением привязки (например, защита включена) на клиенте, а не на сервере).

Ответы [ 4 ]

3 голосов
/ 01 июля 2010

Nettcp привязка по умолчанию secure , ваши клиенты должны предоставить учетные данные Windows, потому что все сообщения подписаны и зашифрованы по протоколу tcp. Установка его на none, вероятно, вызовет проблему, вам нужно что-то вроде:

<netTcpBinding>
     <binding name="netTcp">
       <security mode="Transport">
         <transport clientCredentialType="Windows" />
       </security>
     </binding>
</netTcpBinding>
1 голос
/ 03 июля 2010

ОК, я решил проблему.

Я не знаю, почему это так, но если снять флажок «Использовать простой общий доступ к файлам» в параметрах папок на сервере, все работает отлично.

0 голосов
/ 16 мая 2016

, если какое-либо из перечисленных выше решений не работает для вас, попробуйте удалить идентификационные данные из вашей конечной точки, как показано ниже:

<endpoint address="net.tcp://127.0.0.1/FacilitySchedulesService/FacilitySchedulesService.svc"
                binding="netTcpBinding" bindingConfiguration="FacilityScheduleDSTCP"
                contract="FacilitySchedules.IFacilitySchedulesService" name="FacilityScheduleDSTCP">
        <!--<identity>
          <userPrincipalName value="abc" />
        </identity>-->
      </endpoint>
0 голосов
/ 22 августа 2015

У меня есть автономные службы net.tcp, и они прекрасно работают с безопасностью или без нее, фактически вы можете разместить несколько защищенных и незащищенных контрактов net.tcp на одном и том же порту, что упрощает настройку брандмауэра.

Если отключение простого общего доступа к файлам позволило вашему клиенту / службе работать, то я подозреваю, что порт, выбранный для размещения службы, также использовался простым общим доступом к файлам.

...