Требуется ли использование прокси для использования службы WCF? - PullRequest
2 голосов
/ 25 марта 2010

У меня есть служба WCF, которую я хочу, чтобы мой клиент мог использовать из IIS без прохождения через прокси. Клиент использовал службу asmx в vbscript, используя поведение htc:

<div id="oWSInterop" style="behavior:url(webservice.htc)"></div>

oWSInterop.useService "http://localhost/WSInteroperability.asmx", "WSInteroperability"

Set response = oWSInterop.WSInteroperability.callServiceSync("BuildSingleDoc", 1002, 19499, XMLEncode(sAdditionalDetail))

Так что, в основном, я просто хочу сделать эту работу, сделав как можно меньше изменений в существующем клиенте. Я вынужден использовать прокси (то есть класс на стороне клиента, который предоставляет операции в службе WCF) при использовании службы WCF? Я понимаю преимущества прокси и не против использования его для большинства других реализаций клиента, но в этом случае я не уверен, что у меня есть время разобраться с ним на клиенте - я просто хочу, чтобы он работал так это было только с изменением конечной точки.

Ответы [ 2 ]

2 голосов
/ 25 марта 2010

Клиентский прокси-класс для вызова службы?

Да, вам определенно нужно это (если вы не используете службы WCF на основе REST, которые вы можете вызывать только с помощью HttpClient) - вот где вся среда выполнения WCF живет и делает свое волшебство.

Если вы хотите вызывать службы на основе REST, вы можете сделать это без какого-либо прокси-сервера - но тогда вам придется самостоятельно выполнять синтаксический анализ XML или JSON. Это может быть сделано, но это не может быть такой прекрасной идеей.

В чем проблема с прокси ?? На самом деле это просто небольшая оболочка, которая объединяет ваши звонки в сериализованное сообщение и отправляет его на серверную часть. Никакого большого вреда, на мой взгляд ....

0 голосов
/ 25 марта 2010

Что ты видишь?Что заставляет вас благодарить, что прокси является проблемой?Если это код на стороне сервера, он должен использовать настройки браузера (WinINet), которые должны работать нормально.Возможно, "localhost" будет проблемой, так как для клиента это по-прежнему означает "говорить с самим собой" (т.е. не с сервером).

Если это на стороне сервера, вы 'Возможно, вам нужно будет настроить WinHTTP соответствующим образом;в частности, пропустить прокси для локальных адресов.Конечно, "localhost" все равно должен вернуться назад ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...