Размещение в управляемом приложении
Службы Windows Communication Foundation (WCF) можно размещать в любом платформа .NET Framework приложении. Резидентное размещение служб - самый гибкий вариант размещения, так как в этом случае требуется минимальное развертывание инфраструктуры. Однако это также самый надежный вариант размещения, так как управляемые приложения не предоставляют расширенные функции размещения и управления другими параметрами размещения в WCF, например службы IIS (IIS) и службах Windows.
Для создания резидентной службы необходимо создать и открыть экземпляр узла службы ServiceHost, который запускает службу, ожидающую сообщений. Дополнительные сведения см. в статье "Практическое руководство. Размещение службы WCF в управляемом приложении".
Полный пример определения контракта, реализации контракта и размещения службы в управляемом приложении см . в руководстве по началу работы и локальном узле.
В следующих разделах описаны стандартные сценарии, использующие этот вариант размещения.
Консольные приложения
Распространенные сценарии, которые позволяют самостоятельное размещение, — это службы WCF, работающие в консольных приложениях. Размещение службы WCF в консольном приложении обычно полезно во время этапа разработки службы. В этом случае приложение легко отлаживать, удобно получать данные трассировки, чтобы узнать, что происходит внутри приложения, и удобно копировать приложение в другие расположения.
Функционально насыщенные клиентские приложения
Другие распространенные сценарии, которые позволяют самостоятельное размещение, — это расширенные клиентские приложения, такие как на основе Windows Presentation Foundation (WPF) или Windows Forms (WinForms). Этот вариант размещения также упрощает взаимодействие с богатыми клиентскими приложениями, такими как приложения WPF и WinForms, для взаимодействия с внешним миром. Например, клиент совместной работы с одноранговым подключением, использующий WPF для пользовательского интерфейса, а также содержит службу WCF, которая позволяет другим клиентам подключаться к нему и обмениваться информацией.