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

Определение

Инициализирует новый экземпляр класса ServiceHost.Initializes a new instance of the ServiceHost class.

Перегрузки

ServiceHost()

Инициализирует новый экземпляр класса ServiceHost.Initializes a new instance of the ServiceHost class.

ServiceHost(Object, Uri[])

Инициализирует новый экземпляр класса ServiceHost с указанными экземпляром службы и базовыми адресами.Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

ServiceHost(Type, Uri[])

Инициализирует новый экземпляр класса ServiceHost с указанными типом службы и базовыми адресами.Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

ServiceHost()

Инициализирует новый экземпляр класса ServiceHost.Initializes a new instance of the ServiceHost class.

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

Комментарии

Для создания экземпляра класса ServiceHost используются два конструктора.There are two constructors used to create an instance of the ServiceHost class. Используйте конструктор ServiceHost(Type, Uri[]), который принимает тип службы как входной параметр в большинстве случаев.Use the ServiceHost(Type, Uri[]) constructor which takes the service type as an input parameter, most of the time. Его может использовать ведущее приложение для создания новых служб по мере необходимости.The host can use this to create new services as needed. Используйте вместо него конструктор ServiceHost(Object, Uri[]), только если узел службы должен использовать особый одноэлементный экземпляр службы.Use the ServiceHost(Object, Uri[]) constructor instead only when you want the service host to use a specific singleton instance of the service.

ServiceHost(Object, Uri[])

Инициализирует новый экземпляр класса ServiceHost с указанными экземпляром службы и базовыми адресами.Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

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

Экземпляр размещенной службы.The instance of the hosted service.

baseAddresses
Uri[]

Массив Array типа Uri, содержащий базовые адреса размещенной службы.An Array of type Uri that contains the base addresses for the hosted service.

Исключения

Свойство singletonInstance имеет значение null.singletonInstance is 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, если требуется предоставить определенный экземпляр объекта для использования одноэлементной службой.Use this constructor as an alternative to implementing a custom System.ServiceModel.Dispatcher.IInstanceContextInitializer when you want to provide a specific object instance for use by a singleton service. Этот перегружаемый метод можно использовать, когда тип реализации службы не позволяет легко использовать конструктор (например, если он не реализует открытый конструктор по умолчанию, не имеющий параметров).You may want to use this overload when your service implementation type is difficult to construct (for example, if it does not implement a default public constructor that has no parameters).

Обратите внимание, что когда для этой перегрузки предоставляется объект, некоторые функции, связанные с поведением создания экземпляров Windows Communication Foundation (WCF), работают по-разному.Note that when an object is provided to this overload, some features related to the Windows Communication Foundation (WCF) instancing behavior work differently. Например, вызов InstanceContext.ReleaseServiceInstance не выполняет никаких действий, если предоставлен экземпляр хорошо известного объекта с использованием перегрузки конструктора.For example, calling InstanceContext.ReleaseServiceInstance have no effect when a well-known object instance is provided using this constructor overload. Аналогичным образом игнорируются все другие механизмы освобождения экземпляров.Similarly, any other instance release mechanism is ignored. Приложение ServiceHost всегда ведет себя таким образом, как если бы для свойства OperationBehaviorAttribute.ReleaseInstanceMode было задано значение ReleaseInstanceMode.None для всех операций.The ServiceHost always behaves as if the OperationBehaviorAttribute.ReleaseInstanceMode property is set to ReleaseInstanceMode.None for all operations.

ServiceHost(Type, Uri[])

Инициализирует новый экземпляр класса ServiceHost с указанными типом службы и базовыми адресами.Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

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

Тип размещенной службы.The type of hosted service.

baseAddresses
Uri[]

Массив типа Uri, содержащий базовые адреса размещенной службы.An array of type Uri that contains the base addresses for the hosted service.

Исключения

Свойство serviceType имеет значение null.serviceType is null.

Примеры

В этом образце показано, как использовать класс ServiceHost для размещения службы Windows Communication Foundation.This sample illustrates how to use the ServiceHost class to host a Windows Communication Foundation service:

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

Комментарии

Используйте этот конструктор, когда имеется тип службы и можно создать ее новые экземпляры при необходимости, даже если требуется одноэлементный экземпляр.Use this constructor when you have the service type and you can create new instances of it when needed, even when you need a singleton instance. Используйте вместо него конструктор ServiceHost(Object, Uri[]), только если узел службы должен использовать особый одноэлементный экземпляр службы.Use the ServiceHost(Object, Uri[]) constructor instead only when you want the service host to use a specific singleton instance of the service.

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