다음을 통해 공유


ServiceHost 생성자

정의

ServiceHost 클래스의 새 인스턴스를 초기화합니다.

오버로드

ServiceHost()

ServiceHost 클래스의 새 인스턴스를 초기화합니다.

ServiceHost(Object, Uri[])

서비스의 인스턴스와 지정된 기본 주소를 사용하여 ServiceHost 클래스의 새 인스턴스를 초기화합니다.

ServiceHost(Type, Uri[])

서비스 형식과 지정된 기본 주소를 사용하여 ServiceHost 클래스의 새 인스턴스를 초기화합니다.

ServiceHost()

ServiceHost 클래스의 새 인스턴스를 초기화합니다.

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

설명

클래스의 인스턴스를 만드는 데 사용되는 두 개의 생성자가 있습니다 ServiceHost . ServiceHost(Type, Uri[]) 대부분의 경우 서비스 형식을 입력 매개 변수로 사용하는 생성자를 사용합니다. 호스트는 이를 사용하여 필요에 따라 새 서비스를 만들 수 있습니다. 대신 서비스 호스트가 ServiceHost(Object, Uri[]) 서비스의 특정 싱글톤 인스턴스를 사용하려는 경우에만 생성자를 사용합니다.

적용 대상

ServiceHost(Object, Uri[])

서비스의 인스턴스와 지정된 기본 주소를 사용하여 ServiceHost 클래스의 새 인스턴스를 초기화합니다.

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

매개 변수

singletonInstance
Object

호스팅된 서비스의 인스턴스입니다.

baseAddresses
Uri[]

호스팅된 서비스의 기본 주소를 포함하는 Array 형식의 Uri입니다.

예외

singletonInstance이(가) null인 경우

예제

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

설명

싱글톤 서비스에서 사용할 특정 개체 인스턴스를 제공하려는 경우 사용자 지정 System.ServiceModel.Dispatcher.IInstanceContextInitializer 을 구현하는 대신 이 생성자를 사용합니다. 서비스 구현 형식을 생성하기 어려운 경우(예: 매개 변수가 없는 기본 공용 생성자를 구현하지 않는 경우) 이 오버로드를 사용할 수 있습니다.

이 오버로드에 개체가 제공되면 Windows Communication Foundation(WCF) 인스턴스화 동작과 관련된 일부 기능이 다르게 작동합니다. 예를 들어 이 생성자 오버로드를 사용하여 잘 알려진 개체 인스턴스가 제공되면 호출 InstanceContext.ReleaseServiceInstance 에 영향을 주지 않습니다. 마찬가지로 다른 인스턴스 해제 메커니즘도 무시됩니다. ServiceHost 는 항상 모든 작업에 대해 OperationBehaviorAttribute.ReleaseInstanceMode 속성이 ReleaseInstanceMode.None 으로 설정된 것처럼 동작합니다.

적용 대상

ServiceHost(Type, Uri[])

서비스 형식과 지정된 기본 주소를 사용하여 ServiceHost 클래스의 새 인스턴스를 초기화합니다.

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

매개 변수

serviceType
Type

호스팅된 서비스 형식입니다.

baseAddresses
Uri[]

호스팅된 서비스의 기본 주소를 포함하는 Uri 형식의 배열입니다.

예외

serviceType이(가) null인 경우

예제

이 샘플에서는 클래스를 사용하여 ServiceHost Windows Communication Foundation 서비스를 호스트하는 방법을 보여 줍니다.

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

설명

서비스 유형이 있고 필요할 때 싱글톤 인스턴스가 필요한 경우에도 새 인스턴스를 만들 수 있는 경우 이 생성자를 사용합니다. 대신 서비스 호스트가 ServiceHost(Object, Uri[]) 서비스의 특정 싱글톤 인스턴스를 사용하려는 경우에만 생성자를 사용합니다.

적용 대상