ServiceHost Konstruktory
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Inicializuje novou instanci ServiceHost třídy .
Přetížení
ServiceHost() |
Inicializuje novou instanci ServiceHost třídy . |
ServiceHost(Object, Uri[]) |
Inicializuje novou instanci ServiceHost třídy s instancí služby a její základní adresy zadané. |
ServiceHost(Type, Uri[]) |
Inicializuje novou instanci ServiceHost třídy se zadaným typem služby a jejími základními adresami. |
ServiceHost()
Inicializuje novou instanci ServiceHost třídy .
protected:
ServiceHost();
protected ServiceHost ();
Protected Sub New ()
Poznámky
K vytvoření instance ServiceHost třídy se používají dva konstruktory. ServiceHost(Type, Uri[]) Použijte konstruktor, který ve většině případů přebírá typ služby jako vstupní parametr. Hostitel ho může použít k vytvoření nových služeb podle potřeby. ServiceHost(Object, Uri[]) Konstruktor použijte pouze v případě, že chcete, aby hostitel služby používal konkrétní instanci služby.
Platí pro
ServiceHost(Object, Uri[])
Inicializuje novou instanci ServiceHost třídy s instancí služby a její základní adresy zadané.
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())
Parametry
- singletonInstance
- Object
Instance hostované služby.
Výjimky
singletonInstance
je null
.
Příklady
CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)
Poznámky
Tento konstruktor použijte jako alternativu k implementaci vlastního System.ServiceModel.Dispatcher.IInstanceContextInitializer , pokud chcete poskytnout konkrétní instanci objektu pro použití jednoúčelovou službou. Toto přetížení můžete použít, když je obtížné vytvořit typ implementace služby (například pokud neimplementuje výchozí veřejný konstruktor, který nemá žádné parametry).
Všimněte si, že při poskytnutí objektu pro toto přetížení některé funkce související s chováním instance pro Windows Communication Foundation (WCF) fungují odlišně. Například volání InstanceContext.ReleaseServiceInstance nemá žádný účinek, pokud je pomocí tohoto konstruktoru k dispozici dobře známá instance objektu. Podobně se ignorují všechny ostatní mechanismy uvolnění instancí. Vlastnost ServiceHost se vždy chová, jako by byla OperationBehaviorAttribute.ReleaseInstanceMode vlastnost nastavena na pro ReleaseInstanceMode.None všechny operace.
Platí pro
ServiceHost(Type, Uri[])
Inicializuje novou instanci ServiceHost třídy se zadaným typem služby a jejími základními adresami.
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())
Parametry
- serviceType
- Type
Typ hostované služby.
Výjimky
serviceType
je null
.
Příklady
Tato ukázka ukazuje, jak použít ServiceHost třídu k hostování služby Windows Communication Foundation:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Poznámky
Tento konstruktor použijte, pokud máte typ služby a v případě potřeby můžete vytvořit jeho nové instance, i když potřebujete jednu instanci. ServiceHost(Object, Uri[]) Konstruktor použijte pouze v případě, že chcete, aby hostitel služby používal konkrétní instanci služby.