ServiceHost Oluşturucular

Tanım

ServiceHost sınıfının yeni bir örneğini başlatır.

Aşırı Yüklemeler

ServiceHost()

ServiceHost sınıfının yeni bir örneğini başlatır.

ServiceHost(Object, Uri[])

Hizmetin örneği ve belirtilen temel adresleri ile sınıfının yeni bir örneğini ServiceHost başlatır.

ServiceHost(Type, Uri[])

Hizmet türü ve belirtilen temel adresleri ile sınıfının yeni bir örneğini ServiceHost başlatır.

ServiceHost()

ServiceHost sınıfının yeni bir örneğini başlatır.

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

Açıklamalar

sınıfının bir örneğini ServiceHost oluşturmak için kullanılan iki oluşturucu vardır. ServiceHost(Type, Uri[]) Çoğu zaman hizmet türünü giriş parametresi olarak alan oluşturucuyu kullanın. Konak, gerektiğinde yeni hizmetler oluşturmak için bunu kullanabilir. Oluşturucuyu ServiceHost(Object, Uri[]) yalnızca hizmet ana bilgisayarının hizmetin belirli bir tekil örneğini kullanmasını istediğinizde kullanın.

Şunlara uygulanır

ServiceHost(Object, Uri[])

Hizmetin örneği ve belirtilen temel adresleri ile sınıfının yeni bir örneğini ServiceHost başlatır.

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())

Parametreler

singletonInstance
Object

Barındırılan hizmetin örneği.

baseAddresses
Uri[]

Array Barındırılan hizmetin temel adreslerini içeren bir türUri.

Özel durumlar

singletonInstance, null değeridir.

Örnekler

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

Açıklamalar

Tekil bir hizmet tarafından kullanılmak üzere belirli bir nesne örneği sağlamak istediğinizde özel System.ServiceModel.Dispatcher.IInstanceContextInitializer uygulama alternatifi olarak bu oluşturucuyu kullanın. Hizmet uygulama türünüzün yapılandırılması zor olduğunda (örneğin, parametresi olmayan varsayılan bir ortak oluşturucu uygulamadığında) bu aşırı yüklemeyi kullanmak isteyebilirsiniz.

Bu aşırı yüklemeye bir nesne sağlandığında, Windows Communication Foundation (WCF) ile ilgili bazı özelliklerin farklı çalıştığını unutmayın. Örneğin, bu oluşturucu aşırı yüklemesi kullanılarak iyi bilinen bir nesne örneği sağlandığında çağrının InstanceContext.ReleaseServiceInstance hiçbir etkisi olmaz. Benzer şekilde, diğer tüm örnek yayın mekanizmaları yoksayılır. her ServiceHost zaman özelliği tüm işlemler için olarak ayarlanmış ReleaseInstanceMode.None gibi OperationBehaviorAttribute.ReleaseInstanceMode davranır.

Şunlara uygulanır

ServiceHost(Type, Uri[])

Hizmet türü ve belirtilen temel adresleri ile sınıfının yeni bir örneğini ServiceHost başlatır.

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())

Parametreler

serviceType
Type

Barındırılan hizmetin türü.

baseAddresses
Uri[]

Barındırılan hizmetin temel adreslerini içeren tür Uri dizisi.

Özel durumlar

serviceType, null değeridir.

Örnekler

Bu örnekte, bir Windows Communication Foundation hizmetini barındırmak için sınıfının nasıl kullanılacağı ServiceHost gösterilmektedir:

ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);
Dim svcHost As ServiceHost = New ServiceHost(GetType(CalculatorService), baseAddress)

Açıklamalar

Hizmet türüne sahip olduğunuzda bu oluşturucuyu kullanın ve gerektiğinde, tekil bir örneğe ihtiyaç duyduğunuzda bile yeni örnekleri oluşturabilirsiniz. Oluşturucuyu ServiceHost(Object, Uri[]) yalnızca hizmet ana bilgisayarının hizmetin belirli bir tekil örneğini kullanmasını istediğinizde kullanın.

Şunlara uygulanır