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, чтобы узнать больше о том, как мы демократизируем бесплатное образование в области программирования во всем мире.