Может ли веб-сайт ASP.NET 2.0 ссылаться на веб-службы WCF? - PullRequest
2 голосов
/ 15 января 2010

У нашей компании в настоящее время есть веб-сайт, который развернут в ОС Windows 2000, что означает, что мы можем установить только .NET 2.0 на эту машину. Об обновлении ОС веб-сервера не может быть и речи, поскольку этот веб-сервер также поддерживает другие веб-приложения в нашей стране. Как часть нашей политики в области ИТ, по соображениям безопасности веб-сайтам запрещен прямой доступ к данным в нашей базе данных. Вот почему для соблюдения этих ограничений у нас есть еще один сервер, на котором развернуты веб-сервисы. На этом "сервере приложений" в настоящее время установлен .Net 3.5 SP1, поэтому возможны службы WCF.

У меня вопрос: возможно ли добавить веб-ссылку на веб-службы WCF через наш веб-сайт ASP.NET, на котором размещается только .NET 2.0.

Ответы [ 2 ]

4 голосов
/ 15 января 2010

Конечно можно. Если служба WCF использует привязку basicHttpBinding, она будет совместима со всеми клиентами SOAP 1.1, включая «Добавить веб-ссылку».

2 голосов
/ 15 января 2010

Я делал это довольно давно, возможно, но вот некоторые камни преткновения, которые мне пришлось преодолеть

  1. Использование [XmlSerializer] вместо DataContractSerializer, .net 2.0 не включаетSystem.Runtime.Serialization 3.0, который необходим для использования [DataContract] attibute, который является пространством имен .net 3.0, и по какой-то причине .net 2.0 не может читать XML, закодированный с использованием DataContractSerializer
  2. , когда вы объявляете свои сервисные контрактыт.е.[ServiceContract] также объявляйте атрибут [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1, EmitConformanceClaims = true)]
  3. Вы можете зашифровать данные с помощью безопасности транспорта, требуется рабочий сертификат
  4. Создать ссылку на службу, используя svcutil , используйте этот переключательпри этом /targetClientVersion:Version30
...