ServiceHost Konstruktory
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Inicjuje nowe wystąpienie klasy ServiceHost.
Przeciążenia
ServiceHost() |
Inicjuje nowe wystąpienie klasy ServiceHost. |
ServiceHost(Object, Uri[]) |
Inicjuje nowe wystąpienie ServiceHost klasy z wystąpieniem usługi i określonymi adresami podstawowymi. |
ServiceHost(Type, Uri[]) |
Inicjuje ServiceHost nowe wystąpienie klasy z określonym typem usługi i określonymi adresami podstawowymi. |
ServiceHost()
Inicjuje nowe wystąpienie klasy ServiceHost.
protected:
ServiceHost();
protected ServiceHost ();
Protected Sub New ()
Uwagi
Istnieją dwa konstruktory używane do tworzenia wystąpienia ServiceHost klasy. Użyj konstruktora ServiceHost(Type, Uri[]) , który w większości przypadków przyjmuje typ usługi jako parametr wejściowy. Host może go użyć do utworzenia nowych usług zgodnie z potrzebami. Zamiast tego należy użyć konstruktora ServiceHost(Object, Uri[]) tylko wtedy, gdy chcesz, aby host usługi używał określonego pojedynczego wystąpienia usługi.
Dotyczy
ServiceHost(Object, Uri[])
Inicjuje nowe wystąpienie ServiceHost klasy z wystąpieniem usługi i określonymi adresami podstawowymi.
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
Wystąpienie usługi hostowanej.
Wyjątki
singletonInstance
to null
.
Przykłady
CalculatorService service = new CalculatorService();
ServiceHost serviceHost = new ServiceHost(service, baseAddress);
Dim service As CalculatorService = New CalculatorService()
Dim serviceHost As ServiceHost = New ServiceHost(service, baseAddress)
Uwagi
Użyj tego konstruktora jako alternatywy do zaimplementowania niestandardowego System.ServiceModel.Dispatcher.IInstanceContextInitializer , jeśli chcesz podać określone wystąpienie obiektu do użycia przez pojedynczą usługę. Możesz użyć tego przeciążenia, gdy typ implementacji usługi jest trudny do skonstruowania (na przykład jeśli nie implementuje domyślnego konstruktora publicznego, który nie ma parametrów).
Należy pamiętać, że gdy obiekt jest dostarczany do tego przeciążenia, niektóre funkcje związane z zachowaniem instancingu Windows Communication Foundation (WCF) działają inaczej. Na przykład wywołanie InstanceContext.ReleaseServiceInstance nie ma wpływu, gdy jest udostępniane dobrze znane wystąpienie obiektu przy użyciu tego przeciążenia konstruktora. Podobnie każdy inny mechanizm wydawania wystąpień jest ignorowany. Właściwość ServiceHost zawsze zachowuje się tak, jakby OperationBehaviorAttribute.ReleaseInstanceMode właściwość jest ustawiona ReleaseInstanceMode.None na dla wszystkich operacji.
Dotyczy
ServiceHost(Type, Uri[])
Inicjuje ServiceHost nowe wystąpienie klasy z określonym typem usługi i określonymi adresami podstawowymi.
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 hostowanej usługi.
Wyjątki
serviceType
to null
.
Przykłady
W tym przykładzie pokazano, jak używać ServiceHost klasy do hostowania usługi Windows Communication Foundation:
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)
Uwagi
Użyj tego konstruktora, jeśli masz typ usługi i w razie potrzeby możesz utworzyć nowe wystąpienia, nawet jeśli potrzebujesz pojedynczego wystąpienia. Zamiast tego należy użyć konstruktora ServiceHost(Object, Uri[]) tylko wtedy, gdy chcesz, aby host usługi używał określonego pojedynczego wystąpienia usługi.