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
Экземпляр размещенной службы.
Исключения
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
Тип размещенной службы.
Исключения
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[]) Используйте конструктор, только если требуется, чтобы узел службы использовал конкретный одноэлементный экземпляр службы.