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) |