#.net #rest #asp.net-core #wcf #soap
#.net #rest #asp.net-core #wcf #soap
Вопрос:
У меня есть приложение WCF, с помощью которого я пытаюсь перейти на Web API.СЕТЕВОЕ ядро. Как только я закончу миграцию, я могу попросить клиентов обновить свои приложения, чтобы начать использовать новые конечные точки REST и не использовать службу WCF. Меня беспокоит только то, что не все клиенты могут одновременно перейти на новую службу, и я должен продолжать поддерживать как WCF, так и REST client, пока все клиенты не перейдут на использование REST service. Я также не могу запускать старые службы, поскольку это увеличивает стоимость инфраструктуры. Есть ли какой-либо способ поддержки клиентов WCF в том же приложении REST? Если клиент не мигрирует, могут ли они по-прежнему обращаться к службе, используя старую конечную точку и старую полезную нагрузку soap.
Комментарии:
1. Вообще говоря, в framework нет такой поддержки служб WCF. но есть некоторые сторонние пакеты nuget, такие как CoreWCF, с помощью которых вы можете этого добиться. Сделайте немного Google, и вы сможете его найти. я помню, что мне удалось перенести некоторые из моих сервисов wcf на .net core
2. Это зависит от того, использует ли ваша служба WCF webhttpbinding. Если это не webhttpbinding, эта операция не может быть выполнена. Например, мы используем базовую привязку httpbinding, когда клиент взаимодействует с сервером, у клиента будет канал, но в webapi нет аналогичного канала.
Ответ №1:
вы можете использовать размещенную службу в .net core. Для достижения этой цели вы можете вручную добавить ip:port / wcfinterface из подключенных служб (поставщик ссылок на веб-службы wcf) это дополнительный инструмент, .net core по-прежнему поддерживает клиентскую часть, вы можете вызвать его немного по-другому. Я использую асинхронные методы с wcf, и они работают довольно быстро.
https://learn.microsoft.com/en-us/dotnet/core/additional-tools/wcf-web-service-reference-guide
Комментарии:
1. Привет, Хорхе, я не ищу клиентское решение wcf в .net core.. Я хочу перенести службу wcf в .net core.
2. Вы не можете этого сделать, поскольку .net core не поддерживается, обычный способ — создать службу wcf с помощью regular.net . на вашем месте я бы просто использовал API Rest, gRPC или что-то еще.