Windows Communication Foundation (WCF) — это универсальная платформа для создания распределенных служб в .NET. Хотя .NET Core в первую очередь ориентирован на кросс-платформенную разработку, вы все равно можете интегрировать службы WCF в свои приложения .NET Core, приняв во внимание несколько соображений. В этой статье мы покажем вам, как добавить службу WCF в ваше приложение .NET Core.
Предварительные условия
Прежде чем начать, убедитесь, что у вас есть следующее:
- Установлена Visual Studio или Visual Studio Code.
- Установлен пакет SDK для .NET Core.
- Базовые знания WCF и C#.
Шаг 1. Создайте приложение .NET Core.
Начните с создания приложения .NET Core, если у вас его еще нет. Вы можете сделать это с помощью следующей команды:
dotnet new console -n MyWCFApp
Эта команда создает новое консольное приложение с именем MyWCFApp.
Шаг 2. Добавьте ссылку на службу
Чтобы подключиться к службе WCF, вам необходимо создать для нее клиентский прокси. В .NET Framework вы можете использовать опцию «Добавить ссылку на службу» в Visual Studio. Однако в .NET Core вы не можете использовать «Добавить ссылку на службу» напрямую. Вместо этого вы можете использовать инструмент Svcutil
или расширение dotnet-svcutil
для создания клиентского прокси.
Установите расширение dotnet-svcutil
глобально, если вы еще этого не сделали:
dotnet tool install --global dotnet-svcutil
Теперь используйте dotnet-svcutil
для создания клиентского прокси-сервера для вашей службы WCF. Замените ServiceURL
фактическим URL-адресом вашей службы WCF:
dotnet-svcutil http://ServiceURL?wsdl
Эта команда создает необходимые файлы прокси-сервера клиента в текущем каталоге.
Шаг 3. Ссылка на созданные файлы
Затем добавьте созданные прокси-файлы клиента в проект .NET Core. Вы можете сделать это, перетащив файлы в свой проект в Visual Studio Code или используя команду dotnet add reference
.
dotnet add reference YourGeneratedProxy.cs
Шаг 4. Настройка клиента WCF
В приложении .NET Core настройте клиент WCF, создав экземпляр прокси-сервера клиента и задав его свойства, такие как адрес конечной точки и привязку.
using System; using MyWCFApp.ServiceReference; // Replace with your generated namespace class Program { static void Main() { // Create an instance of the WCF client var client = new MyWCFServiceClient(); // Set the endpoint address (replace with your service URL) client.Endpoint.Address = new System.ServiceModel.EndpointAddress("http://ServiceURL"); // Make calls to WCF service methods var result = client.MyMethod(); // Close the client when done client.Close(); Console.WriteLine("Result from WCF service: " + result); } }
Шаг 5: Сборка и запуск
Теперь, когда вы настроили клиент WCF, создайте и запустите приложение .NET Core:
dotnet build dotnet run
Теперь ваше приложение .NET Core должно иметь возможность взаимодействовать со службой WCF.
Заключение
В этой статье мы рассмотрели шаги по добавлению службы WCF в приложение .NET Core. Хотя .NET Core не поддерживает функцию «Добавить ссылку на службу» напрямую, как в .NET Framework, вы можете использовать инструмент dotnet-svcutil
для создания необходимых клиентских прокси-файлов и интеграции их в свой проект. При наличии клиентского прокси-сервера ваше приложение .NET Core может беспрепятственно взаимодействовать со службой WCF.
Не забудьте заменить ServiceURL
фактическим URL-адресом вашей службы WCF и адаптировать код к вашим конкретным требованиям.
Стеккадемический
Спасибо, что дочитали до конца. Прежде чем уйти:
- Пожалуйста, рассмотрите возможность аплодировать и следовать автору! 👏
- Следуйте за нами в Twitter(X), LinkedIn и YouTube.
- Посетите Stackademic.com, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.