ServiceHost Costruttori
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Inizializza una nuova istanza della classe ServiceHost.
Overload
| Nome | Descrizione |
|---|---|
| ServiceHost() |
Inizializza una nuova istanza della classe ServiceHost. |
| ServiceHost(Object, Uri[]) |
Inizializza una nuova istanza della ServiceHost classe con l'istanza del servizio e i relativi indirizzi di base specificati. |
| ServiceHost(Type, Uri[]) |
Inizializza una nuova istanza della ServiceHost classe con il tipo di servizio e i relativi indirizzi di base specificati. |
ServiceHost()
Inizializza una nuova istanza della classe ServiceHost.
protected:
ServiceHost();
protected ServiceHost();
Protected Sub New ()
Commenti
Esistono due costruttori usati per creare un'istanza della ServiceHost classe . Usare il ServiceHost(Type, Uri[]) costruttore che accetta il tipo di servizio come parametro di input, la maggior parte del tempo. L'host può usarlo per creare nuovi servizi in base alle esigenze. Usare invece il ServiceHost(Object, Uri[]) costruttore solo quando si vuole che l'host del servizio usi un'istanza singleton specifica del servizio.
Si applica a
ServiceHost(Object, Uri[])
Inizializza una nuova istanza della ServiceHost classe con l'istanza del servizio e i relativi indirizzi di base specificati.
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.
- baseAddresses
- Uri[]
Oggetto Array di tipo Uri che contiene gli indirizzi di base per il servizio ospitato.
Eccezioni
singletonInstance è null.
Esempio
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
Usare questo costruttore come alternativa all'implementazione di un oggetto personalizzato System.ServiceModel.Dispatcher.IInstanceContextInitializer quando si vuole fornire un'istanza di oggetto specifica per l'uso da parte di un servizio singleton. È possibile usare questo overload quando il tipo di implementazione del servizio è difficile da costruire, ad esempio se non implementa un costruttore pubblico predefinito senza parametri.
Si noti che quando viene fornito un oggetto a questo overload, alcune funzionalità correlate al comportamento di creazione di istanze di Windows Communication Foundation (WCF) funzionano in modo diverso. Ad esempio, la chiamata InstanceContext.ReleaseServiceInstance non ha alcun effetto quando viene fornita un'istanza di oggetto nota usando questo overload del costruttore. Analogamente, qualsiasi altro meccanismo di rilascio dell'istanza viene ignorato. Il ServiceHost si comporta sempre come se la proprietà OperationBehaviorAttribute.ReleaseInstanceMode fosse impostata su ReleaseInstanceMode.None per tutte le operazioni.
Si applica a
ServiceHost(Type, Uri[])
Inizializza una nuova istanza della ServiceHost classe con il tipo di servizio e i relativi indirizzi di base specificati.
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.
- baseAddresses
- Uri[]
Matrice di tipo Uri che contiene gli indirizzi di base per il servizio ospitato.
Eccezioni
serviceType è null.
Esempio
Questo esempio illustra come usare la ServiceHost classe per ospitare un servizio Windows Communication Foundation:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Commenti
Usare questo costruttore quando si dispone del tipo di servizio ed è possibile crearne di nuove quando necessario, anche quando è necessaria un'istanza singleton. Usare invece il ServiceHost(Object, Uri[]) costruttore solo quando si vuole che l'host del servizio usi un'istanza singleton specifica del servizio.