ServiceHost Costruttori

Definizione

Inizializza una nuova istanza della classe ServiceHost.Initializes a new instance of the ServiceHost class.

Overload

ServiceHost()

Inizializza una nuova istanza della classe ServiceHost.Initializes a new instance of the ServiceHost class.

ServiceHost(Object, Uri[])

Consente di inizializzare una nuova istanza della classe ServiceHost con l'istanza del servizio e i relativi indirizzi di base specificati.Initializes a new instance of the ServiceHost class with the instance of the service and its base addresses specified.

ServiceHost(Type, Uri[])

Consente di inizializzare una nuova istanza della classe ServiceHost con il tipo di servizio e i relativi indirizzi di base specificati.Initializes a new instance of the ServiceHost class with the type of service and its base addresses specified.

ServiceHost()

Inizializza una nuova istanza della classe ServiceHost.Initializes a new instance of the ServiceHost class.

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

Commenti

Sono disponibili due costruttori per creare un'istanza della classe ServiceHost.There are two constructors used to create an instance of the ServiceHost class. Utilizzare il costruttore ServiceHost(Type, Uri[]) che in genere accetta il tipo di servizio come parametro di input.Use the ServiceHost(Type, Uri[]) constructor which takes the service type as an input parameter, most of the time. L'host può utilizzare questo costruttore per creare nuovi servizi nel modo desiderato.The host can use this to create new services as needed. Se invece si desidera che l'host del servizio utilizzi un'istanza singleton specifica del servizio è necessario utilizzare il costruttore 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[])

Consente di inizializzare una nuova istanza della classe ServiceHost con l'istanza del servizio e i relativi indirizzi di base specificati.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())

Parametri

singletonInstance
Object

Istanza del servizio ospitato.The instance of the hosted service.

baseAddresses
Uri[]

Matrice Array di tipo Uri contenente gli indirizzi di base del servizio ospitato.An Array of type Uri that contains the base addresses for the hosted service.

Eccezioni

singletonInstance è null.singletonInstance is null.

Esempi

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

Commenti

Utilizzare questo costruttore come alternativa all'implementazione di un'interfaccia System.ServiceModel.Dispatcher.IInstanceContextInitializer personalizzata quando si desidera fornire un'istanza specifica dell'oggetto utilizzabile da un servizio singleton.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. Questo overload può risultare utile quando il tipo di implementazione del servizio è difficile da costruire, ad esempio se non implementa alcun costruttore pubblico predefinito privo di parametri.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).

Si noti che quando un oggetto viene fornito a questo overload, alcune funzionalità relative al comportamento di creazione delle istanze di Windows Communication Foundation (WCF) funzionano in modo diverso.Note that when an object is provided to this overload, some features related to the Windows Communication Foundation (WCF) instancing behavior work differently. Ad esempio, quando si utilizza questo overload di costruttore per fornire un'istanza di un oggetto noto, una chiamata al metodo InstanceContext.ReleaseServiceInstance non produce alcun effetto.For example, calling InstanceContext.ReleaseServiceInstance have no effect when a well-known object instance is provided using this constructor overload. Analogamente, qualsiasi altro meccanismo di rilascio delle istanze viene ignorato.Similarly, any other instance release mechanism is ignored. L'host ServiceHost si comporta sempre come se la proprietà OperationBehaviorAttribute.ReleaseInstanceMode fosse impostata su ReleaseInstanceMode.None per tutte le operazioni.The ServiceHost always behaves as if the OperationBehaviorAttribute.ReleaseInstanceMode property is set to ReleaseInstanceMode.None for all operations.

ServiceHost(Type, Uri[])

Consente di inizializzare una nuova istanza della classe ServiceHost con il tipo di servizio e i relativi indirizzi di base specificati.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())

Parametri

serviceType
Type

Tipo di servizio ospitato.The type of hosted service.

baseAddresses
Uri[]

Matrice di tipo Uri contenente gli indirizzi di base del servizio ospitato.An array of type Uri that contains the base addresses for the hosted service.

Eccezioni

serviceType è null.serviceType is null.

Esempi

Questo esempio illustra come utilizzare la classe ServiceHost per ospitare un servizio 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)

Commenti

Utilizzare questo costruttore quando si dispone del tipo di servizio e si è in grado di crearne nuove istanze ogni volta che sia necessario, anche nel caso in cui occorra creare un'istanza singleton.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. Se invece si desidera che l'host del servizio utilizzi un'istanza singleton specifica del servizio è necessario utilizzare il costruttore 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.

Si applica a