Можете ли вы вызвать WCF с basicHttpBinding в приложении winforms .net 2.0? - PullRequest
0 голосов
/ 24 января 2009

Из того, что я знаю, basichttpbinding обратно совместим с .net 2.0 правильно?

Кажется, что когда вы ссылаетесь на службу WCF, API отличается.

Мой сервис использует SSL, и у него есть имя пользователя и пароль, которые вы должны установить.

В .net 2.0 API совершенно другой, и возникают проблемы с правильным вызовом конечной точки.

1 Ответ

2 голосов
/ 15 февраля 2009

Службы WCF присутствуют в платформах .NET 3.0 и 3.5. В то время как ваш сервис будет выполняться во время выполнения 2.0 (.NET 3.0 и 3.5 являются просто дополнительными уровнями для инфраструктуры 2.0), пока он сериализует типы, которые легко понять (то есть могут быть преобразованы в базовые типы, такие как строки и целые числа), все хорошо. Фактически, Java-клиент может вызывать службу WCF, поскольку на уровне проводной сети важно соблюдение общепринятых спецификаций, например, SOAP 1.1.

В клиенте форм Windows необходимо создать ссылку на службу с помощью wsdl.exe (или с помощью мастера добавления веб-ссылок в Visual Studio). Насколько он знает, он выглядит как любой веб-сервис ASP.NET.

Теперь использование basicHttpBinding - это еще не все, чтобы обеспечить совместимость вашей службы с клиентами, не являющимися WCF. Вы также должны быть уверены, что придерживаетесь DataContractSerializer или XmlSerializer. Вам следует избегать использования NetDataContractSerializer, поскольку для этого необходимо, чтобы типы были общими как для службы, так и для клиента. Не то чтобы это нельзя было сделать, но вы должны убедиться, что ваши типы находятся в сборке .NET 2.0 и не используют функциональность, доступную только в версии 3.0 или более поздней (например, System.Core).

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