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
ServiceHost() |
Inizializza una nuova istanza della classe ServiceHost. |
ServiceHost(Object, Uri[]) |
Consente di inizializzare una nuova istanza della classe ServiceHost con l'istanza del servizio e i relativi indirizzi di base specificati. |
ServiceHost(Type, Uri[]) |
Consente di inizializzare una nuova istanza della classe ServiceHost 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ò utilizzare questo costruttore per creare nuovi servizi nel modo desiderato. 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[])
Consente di inizializzare una nuova istanza della classe ServiceHost 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[]
Matrice Array di tipo Uri contenente gli indirizzi di base del 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. 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.
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 delle istanze viene ignorato. L'host 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[])
Consente di inizializzare una nuova istanza della classe ServiceHost 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.
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
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. Usare invece il ServiceHost(Object, Uri[]) costruttore solo quando si vuole che l'host del servizio usi un'istanza singleton specifica del servizio.