Ваш сервис теперь может использоваться клиентом asmx.

я есть этот сценарий. Клиент попросил нас иметь веб-сервис. Я создал Службу WCF. После того, как мы отправили им наш URL в описании веб-сервиса, клиент говорит

Поскольку мы не можем использовать службу WCF, можете ли вы опубликовать ее в виде веб-службы?

Теперь мне интересно, они просят меня за asmx ... верно? Есть ли способ, которым я могу "предложить" свою службу WCF в качестве службы asmx, чтобы мне не пришлось переписывать все это?

Мое первое «решение» - это иметь файл .asmx, который напрямую вызывает мои файлы .svc ... я не знаю. Я не пытался, но я иду в этом направлении.

Любые идеи будут высоко оценены.

Тони

Ответы на вопрос(2)

указанные ниже, и вы сможете представить службу WCF в качестве конечной точки ASMX.

Добавить новый файл веб-службы (.asmx)Теперь откройте узел веб-файла .asmx и удалите файл .asmx.cs.Однажды .cs файл будет удален. Вы найдете файл wcfasasmx.asmx.

У меня есть имя класса WCF как Service1 (из базовой службы WCF), и этот класс присутствует в текущем пространстве имен. Поэтому я изменил имя класса как mynamespace.Service1

Некоторые изменения в коде, как показано ниже

В web.config в тег добавьте следующий код

  <system.web>
   <webServices>
     <conformanceWarnings>
       <remove name='BasicProfile1_1'/>
     </conformanceWarnings>
   </webServices>
  </system.web>

Добавить следующие 2 атрибута в интерфейсконтракт на обслуживание WCF)

 [WebService(Name = "Service1")]
 [WebServiceBinding(Name = "Service1", ConformsTo =   WsiProfiles.Ba,sicProfile1_1, EmitConformanceClaims = true)]

Добавьте атрибут [WebMethod] в каждый контракт операции.

[OperationContract]
[WebMethod] 
string GetData(int value);

Ваш сервис теперь может использоваться клиентом asmx.

которая предоставляет сервис, используя basicHttpBinding или wsHttpBinding. «Расширение файла» URL не имеет никакого значения для клиента, только содержание запроса / ответа.

Вот ссылка на другой SO вопрос:Конечные точки REST / SOAP для службы WCF

 Ladislav Mrnka17 янв. 2011 г., 23:28
Не используйте wsHttpBinding для обратной совместимости с клиентами ASMX.

Ваш ответ на вопрос