Может ли WCF, размещенный в службе Windows, доступен через Интернет?

Мне нужно некоторое представление о WCF.

Я работаю над клиент-серверным приложением. План проекта примерно такой.

У нас есть один сервер, на котором работает SQL Server 2008 поверх Windows 7 (я знаю, что Windows 7 - не лучший выбор для сервера, но сейчас у него Windows 7). Я планирую построить кластер служб WCF, который будет размещен в службах Windows с привязкой net tcp на стороне сервера. Этот кластер служб WCF обрабатывает всю бизнес-логику приложения и транзакции базы данных.

На данный момент будет 25 клиентов Windows (это число может увеличиться в будущем), на которых запущено клиентское приложение. Все клиенты находятся в одной локальной сети, поэтому я предполагаю, что вышеупомянутая архитектура работает, и все клиенты могут получить доступ к службам WCF, работающим на сервере, с использованием чистой TCP-привязки. Пожалуйста, поправьте меня, если я ошибаюсь ...

В будущем я хочу создать мобильное клиентское приложение или клиентское приложение Silverlight для доступа к той же службе WCF ... возможно ли это, если я разместил службы WCF в службах Windows и если мобильное клиентское приложение / клиентское приложение Silverlight находится в той же сети (той же LAN) ?? (Думаю, не вижу комментария)

Что, если я захочу получить к нему доступ через Интернет? Могут ли вышеперечисленные службы WCF, размещенные в службах Windows, иметь доступ через Интернет? (Может, если это привязка nettcp, но только другим приложением WCF - см. Комментарии)

Если нет, могу ли я создать базовую конечную точку http для службы WCF при размещении ее в службе Windows и быть доступной через Интернет ??

Если нет, могу ли я разместить ту же службу WCF в службах Windows, а также в IIS?

Каковы наилучшие варианты, если вы хотите, чтобы WCF был доступен по локальной сети, а также через Интернет?


person microchip78    schedule 30.01.2012    source источник
comment
Я думаю, после небольшого исследования я обнаружил, что привязка nettcp позволяет общаться через Интернет, но только с другим приложением WCF. Таким образом, цель предоставления службы - использовать ее любым другим клиентом, а не клиентским приложением WCF, лучше использовать basichttpbinding ...   -  person microchip78    schedule 31.01.2012
comment
Привязка nettcp все еще работает на компьютере интрасети - компьютерная связь ...   -  person microchip78    schedule 31.01.2012
comment
Предполагая, что вы разрешаете соединение (переадресация портов или настройка DMZ), а клиент может использовать nettcp, я не вижу проблемы. Однако, как предположил другой пользователь, вам может быть лучше с конечной точкой basichttpbinding / soap, если вы ищете доступность для нескольких клиентов.   -  person Brad Christie    schedule 31.01.2012


Ответы (1)


Одним из хороших преимуществ WCF является то, что вы можете размещать решения о хостинге, протоколах и привязках, насколько это возможно. Если вам нужна частная служба WCF, просто используйте привязку nettcp. Если вы хотите распространить это на Интернет, вы всегда можете добавить другие привязки.

Вы всегда можете изменить решения о хостинге с службы Windows на IIS. Это относительно тривиально.

person chandmk    schedule 31.01.2012