Был ли размещен сервис WCF с привязкой net.tcp - PullRequest
4 голосов
/ 28 апреля 2009

Я пытаюсь опубликовать службу вычислений на нескольких компьютерах, которые будут использоваться сервером приложений. Серверы вычислений находятся в состоянии и должны иметь возможность выполнять асинхронные обратные вызовы, поэтому я хочу использовать настройки для сеанса через TCP.

Приложение-служба было создано с использованием типа проекта приложения-службы WCF в VS2008.

Так получилось, что на компьютерах службы вычислений установлена ​​Vista, поэтому, согласно прочитанной мной документации, я смогу использовать хостинг WAS. Я пытаюсь следовать инструкциям Microsoft по этому вопросу:

Установка и настройка компонентов WCF

Размещение службы WCF в WAS

Но у меня рано возникают проблемы. Я должен поместить файл .svc в виртуальный каталог моего приложения. Но так как я не использую хостинг IIS, как мне создать виртуальный каталог? Документы, приведенные выше, не ясны по этому вопросу.

Кроме того, при попытке запустить команду, которая разрешает доступ net.tcp к моему приложению:

%windir%\system32\inetsrv\appcmd.exe set app "Default Web Site/<WCF Application>" /enabledProtocols:net.tcp

Я не знаю, чем заменить <WCF Application> на. Опять же, кажется, что отсутствует предыдущий шаг, когда кто-то публикует сервис «как размещенный IIS».

Я создал тестовое приложение, которое пытается использовать сервис. Когда я нажимаю «Добавить ссылку на службу», она обнаруживает мою службу, но не может подключиться к ней с помощью net.tcp.

Кто-нибудь здесь преуспел в хостинге WAS и использовании сервиса? У вас есть какие-нибудь указатели для меня?

ОБНОВЛЕНИЕ: теперь я пытался добавить привязки net.tcp к веб-сайту с помощью диспетчера IIS (щелкните правой кнопкой мыши -> Изменить привязки ...), но единственными протоколами, доступными в диалоговом окне Добавить ..., являются http и https. Нет net.tcp в этом списке. И да, я установил компоненты активации без http ... Очень странно.

Ответы [ 3 ]

5 голосов
/ 28 апреля 2009

Поскольку WAS является частью архитектуры IIS , необходимо создать виртуальный каталог на веб-сайте IIS (например, «Веб-сайт по умолчанию»), который указывает на физическое местоположение службы WCF, которую вы размещаете. Затем вам нужно будет создать приложение в этом виртуальном каталоге, как для веб-сайта ASP.NET или веб-службы ASMX.
Это легко сделать, используя консоль управления IIS 7 .

Вы можете прочитать подробности о том, как WAS работает в IIS7 здесь .
Более подробное пошаговое руководство по хостингу WAS можно найти в этой статье .

1 голос
/ 25 мая 2013

У меня была такая же проблема, но заставил ее работать. Смотрите этот вопрос. Дайте мне знать, если в инструкциях есть что-то, что вам нужно, как это сделать.

Настройка службы WCF TCP в веб-приложении

1 голос
/ 04 июня 2010

Необходимо добавить привязку net.tcp к привязке приложения в IIS.

Щелкните правой кнопкой мыши виртуальный каталог / приложение в IIS -> Управление приложением -> Расширенные настройки.

В разделе «Активные протоколы» просто добавьте net.tcp и вуаля !!

...