В нашем корпоративном настольном приложении мы активно используем WCF с 2010 по 2011 год, и мы очень довольны им.
Однако мы видим, что WCF становится все менее и менее популярным, он не поддерживается в .NET Core, который являетсярано или поздно заменит .NET Framework, поэтому мы начали думать о замене WCF в нашем приложении.
Мы хотим заменить протокол связи, но не хотим переписывать все существующие сервисы.У нас есть расширения для нашего продукта, написанные нашими партнерами, поэтому всем им нужно будет переписать все свои услуги, это займет огромное количество времени.Хотя мы не против переписать инфраструктуру регистрации, запуска, вызова и т. Д. Услуг ...
Основные функции WCF, которые мы используем и которые мы определенно хотим иметь в будущем:
- разделение контрактов междуклиент и сервер - мы контролируем как клиентскую, так и серверную часть нашего приложения, и они оба написаны на C #, поэтому я считаю, что для нас наличие контрактов является преимуществом
- вызовы операций: мы используем их для добавления регистрации для каждого WCFвызов, чтобы обернуть вызовы в транзакции, изменить культуру потока и т. д.
Есть ли способ написать своего рода оболочку для существующих служб, контрактов на данные и контрактов на обслуживание, чтобы иметь возможность вызывать их втак же, как и сейчас, но использовать другой современный протокол связи: gRPC, Web API и т. д .?