← Все вопросы

Что такое WCF и стоит ли его учить сегодня?

Задан 17 месяцев назад1.4к просмотров2 ответа
5

В легаси-проекте на .NET наткнулся на WCF. Что это такое, для чего применялось и есть ли смысл в это вникать в 2026 году или лучше сразу учить что-то современное?

2 ответа

12
✓ Принятый ответ — помог автору

WCF (Windows Communication Foundation) — это старый фреймворк Microsoft для построения сервисов и обмена сообщениями между приложениями. Появился во времена .NET Framework 3.0 и был основным способом делать SOAP-сервисы, удалённые вызовы и межсервисное взаимодействие.

Главная идея WCF — единая модель для разных протоколов через так называемые endpoints (ABC):

  • Address — где находится сервис (URL).
  • Binding — как общаемся (HTTP, TCP, named pipes, MSMQ).
  • Contract — что сервис умеет (интерфейс).
[ServiceContract]
public interface ICalculator
{
    [OperationContract]
    int Add(int a, int b);
}

public class Calculator : ICalculator
{
    public int Add(int a, int b) => a + b;
}

Стоит ли учить сегодня? Целенаправленно — нет. WCF — это легаси, в .NET Core/.NET 5+ его в полном виде нет. Microsoft направляет на современные подходы:

  • REST API на ASP.NET Core — для большинства веб-сервисов.
  • gRPC — если нужен быстрый бинарный RPC (идейный преемник WCF для микросервисов).

Вывод: разберись в WCF ровно настолько, чтобы поддерживать существующий проект. Для нового кода бери ASP.NET Core Web API или gRPC.

4

Добавлю контекст: если проект надо мигрировать с WCF, у Microsoft есть CoreWCF — community-проект, который частично переносит WCF-сервисы на .NET Core. Но это именно мостик для миграции, а не повод начинать новый проект на WCF. Новое — это gRPC (для RPC) или REST (для веба).

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект