Поделиться через


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

Определение

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

Перегрузки

ServiceHost()

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

ServiceHost(Object, Uri[])

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

ServiceHost(Type, Uri[])

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

ServiceHost()

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

protected:
 ServiceHost();
protected ServiceHost ();
Protected Sub New ()

Комментарии

Для создания экземпляра класса используются два конструктора ServiceHost . ServiceHost(Type, Uri[]) Используйте конструктор, который большую часть времени принимает тип службы в качестве входного параметра. Его может использовать основное приложение для создания новых служб по мере необходимости. ServiceHost(Object, Uri[]) Используйте конструктор только в том случае, если требуется, чтобы узел службы использовал определенный экземпляр службы.

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

ServiceHost(Object, Uri[])

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

public:
 ServiceHost(System::Object ^ singletonInstance, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost (object singletonInstance, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : obj * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (singletonInstance As Object, ParamArray baseAddresses As Uri())

Параметры

singletonInstance
Object

Экземпляр размещенной службы.

baseAddresses
Uri[]

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

Исключения

singletonInstance имеет значение null.

Примеры

CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)

Комментарии

Используйте этот конструктор в качестве альтернативы реализации пользовательского System.ServiceModel.Dispatcher.IInstanceContextInitializer , если требуется предоставить конкретный экземпляр объекта для использования одноэлементной службой. Этот перегружаемый метод можно использовать, когда тип реализации службы не позволяет легко использовать конструктор (например, если он не реализует открытый конструктор по умолчанию, не имеющий параметров).

Обратите внимание, что при предоставлении объекта для этой перегрузки некоторые функции, связанные с поведением установки Windows Communication Foundation (WCF), работают по-разному. Например, вызов InstanceContext.ReleaseServiceInstance не оказывает влияния, если с помощью этой перегрузки конструктора предоставляется хорошо известный экземпляр объекта. Аналогичным образом игнорируются все другие механизмы освобождения экземпляров. Приложение ServiceHost всегда ведет себя таким образом, как если бы для свойства OperationBehaviorAttribute.ReleaseInstanceMode было задано значение ReleaseInstanceMode.None для всех операций.

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

ServiceHost(Type, Uri[])

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

public:
 ServiceHost(Type ^ serviceType, ... cli::array <Uri ^> ^ baseAddresses);
public ServiceHost (Type serviceType, params Uri[] baseAddresses);
new System.ServiceModel.ServiceHost : Type * Uri[] -> System.ServiceModel.ServiceHost
Public Sub New (serviceType As Type, ParamArray baseAddresses As Uri())

Параметры

serviceType
Type

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

baseAddresses
Uri[]

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

Исключения

serviceType имеет значение null.

Примеры

В этом примере показано, как использовать ServiceHost класс для размещения службы Windows Communication Foundation:

ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)

Комментарии

Используйте этот конструктор, когда имеется тип службы и можно создать ее новые экземпляры при необходимости, даже если требуется одноэлементный экземпляр. ServiceHost(Object, Uri[]) Используйте конструктор только в том случае, если требуется, чтобы узел службы использовал определенный экземпляр службы.

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