ServiceHost Класс

Определение

Предоставляет узел для служб.

public ref class ServiceHost : System::ServiceModel::ServiceHostBase
public class ServiceHost : System.ServiceModel.ServiceHostBase
type ServiceHost = class
    inherit ServiceHostBase
Public Class ServiceHost
Inherits ServiceHostBase
Наследование
Производный

Примеры

// Host the service within this EXE console application.
public static void Main()
{
  using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
  {
    try
    {
      // Open the ServiceHost to start listening for messages.
      serviceHost.Open();

        // The service can now be accessed.
      Console.WriteLine("The service is ready.");
      Console.WriteLine("Press <ENTER> to terminate service.");
      Console.ReadLine();

      // Close the ServiceHost.
      serviceHost.Close();
    }
    catch (TimeoutException timeProblem)
    {
      Console.WriteLine(timeProblem.Message);
      Console.ReadLine();
    }
    catch (CommunicationException commProblem)
    {
      Console.WriteLine(commProblem.Message);
      Console.ReadLine();
    }
  }
}
' Host the service within this EXE console application.
Public Shared Sub Main()
    ' Create a ServiceHost for the CalculatorService type and use the base address from config.
    Using svcHost As New ServiceHost(GetType(CalculatorService))
        Try
            ' Open the ServiceHost to start listening for messages.
            svcHost.Open()

            ' The service can now be accessed.
            Console.WriteLine("The service is ready.")
            Console.WriteLine("Press <ENTER> to terminate service.")
            Console.WriteLine()
            Console.ReadLine()

            'Close the ServiceHost.
            svcHost.Close()

        Catch timeout As TimeoutException
            Console.WriteLine(timeout.Message)
            Console.ReadLine()
        Catch commException As CommunicationException
            Console.WriteLine(commException.Message)
            Console.ReadLine()
        End Try
    End Using

End Sub

Комментарии

Реализует узел, используемый моделью программирования модели службы Windows Communication Foundation (WCF).

Используйте класс ServiceHost для настройки и предоставления службы для использования клиентскими приложениями, если вы не используете Internet Information Services (IIS) или Windows службы активации (WAS) для предоставления службы. Iis и WAS взаимодействуют с ServiceHost объектом от вашего имени.

Чтобы предоставить службу для использования вызывающими абонентами, WCF требует полного описания службы (представленного классом ServiceDescription ). Класс ServiceHost создает ServiceDescription данные из типа службы и сведений о конфигурации, а затем использует это описание для создания ChannelDispatcher объектов для каждой конечной точки в описании.

ServiceHost Используйте объект для загрузки службы, настройки конечных точек, применения параметров безопасности и запуска прослушивателей для обработки входящих запросов.

Конструкторы

Имя Описание
ServiceHost()

Инициализирует новый экземпляр класса ServiceHost.

ServiceHost(Object, Uri[])

Инициализирует новый экземпляр ServiceHost класса с указанным экземпляром службы и его базовыми адресами.

ServiceHost(Type, Uri[])

Инициализирует новый экземпляр ServiceHost класса с типом службы и его базовыми адресами.

Свойства

Имя Описание
Authentication

Возвращает поведение проверки подлинности службы.

(Унаследовано от ServiceHostBase)
Authorization

Возвращает поведение авторизации для размещенной службы.

(Унаследовано от ServiceHostBase)
BaseAddresses

Возвращает базовые адреса, используемые размещенной службой.

(Унаследовано от ServiceHostBase)
ChannelDispatchers

Возвращает коллекцию диспетчеров каналов, используемых узлом службы.

(Унаследовано от ServiceHostBase)
CloseTimeout

Возвращает или задает интервал времени, разрешенный для закрытия узла службы.

(Унаследовано от ServiceHostBase)
Credentials

Возвращает учетные данные для размещенной службы.

(Унаследовано от ServiceHostBase)
DefaultCloseTimeout

Возвращает интервал времени по умолчанию, разрешенный для закрытия узла службы.

(Унаследовано от ServiceHostBase)
DefaultOpenTimeout

Возвращает интервал времени по умолчанию, разрешенный для открытия узла службы.

(Унаследовано от ServiceHostBase)
Description

Возвращает описание размещенной службы.

(Унаследовано от ServiceHostBase)
Extensions

Возвращает расширения для текущего указанного узла службы.

(Унаследовано от ServiceHostBase)
ImplementedContracts

Извлекает контракты, реализованные размещенной службой.

(Унаследовано от ServiceHostBase)
IsDisposed

Возвращает значение, указывающее, был ли удален объект связи.

(Унаследовано от CommunicationObject)
ManualFlowControlLimit

Возвращает или задает ограничение управления потоком для сообщений, полученных размещенной службой.

(Унаследовано от ServiceHostBase)
OpenTimeout

Возвращает или задает интервал времени, разрешенный для открытия узла службы.

(Унаследовано от ServiceHostBase)
SingletonInstance

Возвращает одноэлементный экземпляр размещенной службы.

State

Возвращает значение, указывающее текущее состояние объекта связи.

(Унаследовано от CommunicationObject)
ThisLock

Получает взаимоисключающую блокировку, которая защищает экземпляр класса во время перехода состояния.

(Унаследовано от CommunicationObject)

Методы

Имя Описание
Abort()

Вызывает немедленное переход объекта связи из текущего состояния в закрывающемся состоянии.

(Унаследовано от CommunicationObject)
AddBaseAddress(Uri)

Добавляет базовый адрес в узел службы.

(Унаследовано от ServiceHostBase)
AddDefaultEndpoints()

Добавляет конечные точки службы для всех базовых адресов в каждом контракте, найденном в узле службы, с привязкой по умолчанию.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(ServiceEndpoint)

Добавляет указанную конечную точку службы в размещенную службу.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(String, Binding, String, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой, адресом конечной точки и универсальным кодом ресурса (URI), содержащим адрес, по которому он прослушивает.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(String, Binding, String)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой и адресом конечной точки.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(String, Binding, Uri, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой и URI, содержащими конечную точку и адреса прослушивания.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(String, Binding, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой и универсальным кодом ресурса (URI), содержащим адрес конечной точки.

(Унаследовано от ServiceHostBase)
AddServiceEndpoint(Type, Binding, String, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой, адресом конечной точки и универсальным кодом ресурса (URI), в котором служба прослушивает.

AddServiceEndpoint(Type, Binding, String)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой и адресом конечной точки.

AddServiceEndpoint(Type, Binding, Uri, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой, универсальным кодом ресурса (URI), содержащим адрес конечной точки, и универсальным кодом ресурса (URI), на котором прослушивается служба.

AddServiceEndpoint(Type, Binding, Uri)

Добавляет конечную точку службы в размещенную службу с указанным контрактом, привязкой и универсальным кодом ресурса (URI), содержащим адрес конечной точки.

ApplyConfiguration()

Загружает описание службы из файла конфигурации и применяет его к созданной среде выполнения.

ApplyConfiguration()

Загружает сведения о описании службы из файла конфигурации и применяет его к созданной среде выполнения.

(Унаследовано от ServiceHostBase)
BeginClose(AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
BeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию закрытия объекта связи с заданным временем ожидания.

(Унаследовано от CommunicationObject)
BeginOpen(AsyncCallback, Object)

Начинает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
BeginOpen(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию открытия объекта связи в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
Close()

Вызывает переход объекта связи из текущего состояния в закрытое состояние.

(Унаследовано от CommunicationObject)
Close(TimeSpan)

Вызывает переход объекта связи из текущего состояния в закрытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
CreateDescription(IDictionary<String,ContractDescription>)

Создает описание размещенной службы.

EndClose(IAsyncResult)

Завершает асинхронную операцию закрытия объекта связи.

(Унаследовано от CommunicationObject)
EndOpen(IAsyncResult)

Завершает асинхронную операцию для открытия объекта связи.

(Унаследовано от CommunicationObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Fault()

Вызывает переход объекта связи из текущего состояния в состояние сбоя.

(Унаследовано от CommunicationObject)
GetCommunicationObjectType()

Возвращает тип объекта связи.

(Унаследовано от CommunicationObject)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
IncrementManualFlowControlLimit(Int32)

Увеличивает ограничение скорости потока сообщений в размещенную службу указанным шагом.

(Унаследовано от ServiceHostBase)
InitializeDescription(Object, UriSchemeKeyedCollection)

Инициализирует описание службы, размещенной на основе его экземпляра и указанных базовых адресов.

InitializeDescription(Type, UriSchemeKeyedCollection)

Инициализирует описание службы, размещенной на основе его типа и заданных базовых адресов.

InitializeDescription(UriSchemeKeyedCollection)

Создает и инициализирует узел службы с описанием контракта и службы.

(Унаследовано от ServiceHostBase)
InitializeRuntime()

Инициализирует среду выполнения для узла службы.

(Унаследовано от ServiceHostBase)
LoadConfigurationSection(ServiceElement)

Загружает элемент службы из файла конфигурации размещенной службы.

(Унаследовано от ServiceHostBase)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
OnAbort()

Прерывает работу службы.

(Унаследовано от ServiceHostBase)
OnBeginClose(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию, вызванную при закрытии узла службы.

(Унаследовано от ServiceHostBase)
OnBeginOpen(TimeSpan, AsyncCallback, Object)

Начинает асинхронную операцию, вызванную при открытии узла службы.

(Унаследовано от ServiceHostBase)
OnClose(TimeSpan)

Закрывает размещенную службу, включая диспетчеры каналов и связанные контексты экземпляров и прослушиватели.

(Унаследовано от ServiceHostBase)
OnClosed()

Удаляет удаленные службы, размещенные при закрытии узла службы.

OnClosing()

Вызывается во время перехода объекта связи в закрываемое состояние.

(Унаследовано от CommunicationObject)
OnEndClose(IAsyncResult)

Завершает асинхронную операцию, вызванную при закрытии узла службы.

(Унаследовано от ServiceHostBase)
OnEndOpen(IAsyncResult)

Завершает асинхронную операцию, вызванную при открытии узла службы.

(Унаследовано от ServiceHostBase)
OnFaulted()

Вставляет обработку в объект связи после перехода в состояние сбоя из-за вызова синхронной операции сбоя.

(Унаследовано от CommunicationObject)
OnOpen(TimeSpan)

Открывает диспетчеры каналов.

(Унаследовано от ServiceHostBase)
OnOpened()

Возвращает учетные данные службы, поведение проверки подлинности и авторизации службы для размещенной службы.

(Унаследовано от ServiceHostBase)
OnOpening()

Вызывается во время перехода объекта связи в открываемое состояние.

(Унаследовано от CommunicationObject)
Open()

Вызывает переход объекта связи из созданного состояния в открытое состояние.

(Унаследовано от CommunicationObject)
Open(TimeSpan)

Вызывает переход объекта связи из созданного состояния в открытое состояние в течение указанного интервала времени.

(Унаследовано от CommunicationObject)
ReleasePerformanceCounters()

Освобождает счетчики производительности диспетчера служб и каналов для размещенной службы.

(Унаследовано от ServiceHostBase)
SetEndpointAddress(ServiceEndpoint, String)

Задает адрес конечной точки указанной конечной точки указанным адресом.

(Унаследовано от ServiceHostBase)
ThrowIfDisposed()

Создает исключение, если объект связи удаляется.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrImmutable()

Вызывает исключение, если объект State связи, который свойство не задано для Created состояния.

(Унаследовано от CommunicationObject)
ThrowIfDisposedOrNotOpen()

Создает исключение, если объект связи не находится в Opened состоянии.

(Унаследовано от CommunicationObject)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

Имя Описание
Closed

Происходит при переходе объекта связи в закрытое состояние.

(Унаследовано от CommunicationObject)
Closing

Происходит при переходе объекта связи в состояние закрытия.

(Унаследовано от CommunicationObject)
Faulted

Происходит при переходе объекта связи в состояние сбоя.

(Унаследовано от CommunicationObject)
Opened

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)
Opening

Происходит при переходе объекта связи в открытое состояние.

(Унаследовано от CommunicationObject)
UnknownMessageReceived

Происходит при получении неизвестного сообщения.

(Унаследовано от ServiceHostBase)

Явные реализации интерфейса

Имя Описание
IDisposable.Dispose()

Закрывает узел службы.

(Унаследовано от ServiceHostBase)

Применяется к