Получение net.tcp не поддерживается при добавлении ссылки на сервис - PullRequest
0 голосов
/ 07 октября 2011

я разместил свой сервис WCF в IIS и настроил следующие конечные точки

    <endpoint name="MainService" contract="Docs.ICalculatorService" address="http://localhost:49495/WcfService1/service.svc" binding="wsHttpBinding">
            </endpoint>
    <endpoint name="MainTcpService"  contract="Docs.ICalculatorService" address="net.tcp://localhost:49496/WcfService1/service.svc" binding="netTcpBinding">
   </endpoint>

я разместил свой сервис WCF на порту № 49495, что реально, Теперь я настроил другую конечную точку, которая использует порт № 49496 мне нужно разместить эту службу WCF на другом порту 49496 или мне чего-то не хватает

получение этой ошибки при просмотре в трассировке стека

ChannelDispatcher по адресу "net.tcp: // localhost: 49495 / WcfService1 / service.svc" с контрактом (-ами) "ICalculatorService" "не может открыть свой IChannelListener

Я настроил конечные точки и настроил привязки в IIS 7 но теперь я получаю новую ошибку

Вы попытались создать канал для службы, которая не поддерживает .Net Framing. Возможно, вы столкнулись с конечной точкой HTTP. **

1 Ответ

0 голосов
/ 14 апреля 2014

Как говорит shabulator, вам нужно включить не-http активатор службы. В случае, если это никому не понятно, вам нужно включить эту функцию Windows.

В Windows 7 (Server 2008 будет аналогичен) в Панели управления -> Программы вы увидите «Включение или отключение функций Windows». Откроется диалоговое окно, показанное на рисунке.

Windows Features dialog

В Microsoft .NET Framework 3.5.1 отметьте два поля для установки функций.

Когда я это сделал, побочным эффектом было размещение .NET 3.5 на сервере, чего я не хотел, так как использовал более позднюю версию. Если это произойдет, откройте командную строку, перейдите в папку .NET 4.0.30319 и запустите средство regiis aspnet.

C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319> aspnet_regiis -iru

...