WCF не привязан к порту TCP (проверка через netstat -a) - PullRequest
3 голосов
/ 23 июля 2010

Хорошо, я постараюсь сделать это как можно более прямым.Я использую VB.Net в VS2010, я пытаюсь самостоятельно разместить службу WCF.(На самом деле это служба Windows, но я пытаюсь сделать это с помощью простого консольного приложения. Ниже приведен код, по которому адреса TCP / IP вводятся прямо здесь. Сама служба WCF - это просто переименованный DEFAULT новый WCF.сервисный проект.

Dim host As New ServiceHost(GetType(TestService))

Dim tcpb As New NetTcpBinding()
tcpb.PortSharingEnabled = True
host.AddServiceEndpoint( _
    GetType(ITestService), _
    tcpb, _
    "net.tcp://localhost:62020/TestWcfService/" _
)

host.Open()

Console.ReadKey(True)

host.Close()

Не думаю, что смогу сделать это намного проще ... Есть ли что-то особенное, что мне нужно сделать, чтобы заставить порт на самом деле связываться? Когда я запускаю netstat -a, это не 'я не могу показывать порт прослушивания на 62020. Я действительно в этом пребываю.

Справочная информация: у меня есть другая служба WCF, которую я пытаюсь перенести из IIS на отдельный сервер, работающий в службе WindowsДоступ к службе WCF возможен только изнутри. У меня были многочисленные проблемы с переносом, поэтому я пытался заставить простой сервис связываться и иметь доступ к нему клиента (веб-сайта). Другой WCF связывает (другой порт).) хорошо, но с ошибками связи. Там буквально **** - тонна вещей там, и очень мало действительно соответствует моим потребностям, и у меня есть многоТрудно заставить что-либо работать с ним.

1 Ответ

2 голосов
/ 23 июля 2010

У меня точно такая же проблема была при тестировании нового сервиса.Оказывается, я просто забыл пометить интерфейс службы атрибутом [ServiceContract].Я предполагаю, что WCF не стал создавать конечную точку, так как не были найдены сервисные контракты.

Было бы неплохо с сообщением об ошибке, поскольку я не могу представить, чтобы кто-то хотел открыть ServiceHost без реализации хотя бы одного контракта, но я подозреваю, что это происходит только при использовании упрощенной конфигурации в .NET 4.

...