да, веб-сервисы являются веб-сервисами.В целом WCF является более гибким и более мощным, чем ASP.NET, но вы можете получать сообщения по проводам в и из службы WCF, чтобы они выглядели точно так же, как сообщения для службы ASMX.Но WCF также отличается по умолчанию.
Миграция должна быть почти механической.Замените файл .asmx, содержащий это:
<%@ WebService
Language="C#"
CodeBehind="~/App_Code/CommunicationService.cs"
Class="CommunicationService" %>
... на файл .svc, содержащий это:
<%@ ServiceHost
Language="C#"
CodeBehind="~/App_Code/CommunicationService.cs"
Service="CommunicationService" %>
... и вы почти закончили.
Но настройки по умолчанию для веб-службы WCF отличаются от настроек веб-службы ASP.NET.В частности, пространства имен XML входящих и исходящих сообщений могут различаться.Не каждый определяет отдельные пространства имен XML для своих служб и сообщений, но для тех, кто это делает, миграция будет проблемой.Разница в поведении (WCF-vs-ASPNET) приведет к тому, что приложения, которые успешно смогли вызвать службу ASMX, не будут работать с "преобразованной" службой WCF.
В этой статье обсуждается проблема в некоторых деталях и описывается хороший обходной путь: используйте собственный ServiceHost.
Код хоста службы в вышеприведенной статье неполон в том смысле, что он работает только для исправления схемы запроса;Вам может / может понадобиться сделать что-то подобное для схемы ответа.
Удачи.