2013-02-09 3 views
1

Служба WCF Windows прослушивает протокол netTcpBinding, который, как я понимаю, является проприетарным протоколом Microsoft (исправьте меня, если я ошибаюсь). Мне нужно написать веб-сайт, который будет использовать службы WCF. Я знаю наверняка, что PHP может подключаться только к службе WCF в SOAP (basicHttpBinding или wsHttpBinding), поэтому мне нужно написать другой SOAP-прокси.Может ли ASP.NET подключиться к WCF с использованием протокола net.tcp?

Some comments в Интернете предлагает, чтобы сайт ASP.NET мог подключаться к службе WCF через протокол net.tcp. Это правда? Где я должен смотреть?

ответ

1

Ваше понимание о netTcpBinding верно. Он проприетарен и доступен только для клиентов .NET. Поскольку ASP.NET является .NET, вы можете без проблем использовать свой сервис WCF.

+0

Я предполагаю, что у меня могут быть * .php страницы и * .aspx страницы, запущенные бок о бок на IIS7. – Jake

-1

Конечно, веб-приложение ASP.NET может подключаться к службе WCF с использованием привязки net.tcp, но не через Интернет! Если приложение и служба не находятся на том же сервере или в одной и той же интрасети, это не сработает, вам нужно выбрать привязку HTTP.

От моего комментария: Да net.tcp может работать через Интернет, но не каждый раз, когда это не рекомендуется (проверьте его в MSDN), чтобы использовать его. Конечно, если весь серверный контроль является нашим, мы можем дать ему попробовать, но если нет (приложение и служба, размещенные сторонним членом), шансы не так высоки, чтобы заставить его работать (например, блокирование портов, net.Tcp-прослушиватель отключен, сеть. Обмен портом не работает или отключен)

+1

«но через Интернет!» - Вы можете прояснить это? – Jake

+1

'Если приложение и служба не находятся на том же сервере или в той же интрасети, это не сработает' - это неправильный оператор! Нет абсолютно никакой проблемы с потреблением WCF-сервиса, предоставляющего netTcpBinding из любого места (если, конечно, существует сетевой маршрут, и брандмауэр не блокирует порты, на которых слушает служба WCF). –

+0

А ушли, чтобы написать «нет». Да, net.tcp может работать через Интернет, но не каждое обстоятельство не рекомендуется (проверьте его в MSDN), чтобы использовать его. Конечно, если весь серверный контроль является нашим, мы можем дать ему попробовать, но если нет (приложение и служба, размещенные сторонним членом), шансы не так высоки, чтобы заставить его работать (например, блокирование портов, net.Tcp-прослушиватель отключено, обмен портами net.Tcp не работает или не отключается). –