다음을 통해 공유


ChannelDispatcher.ManualAddressing 속성

정의

채널 디스패처에서 요청/응답 메시지에 주소 헤더를 추가하는지 여부를 나타내는 값을 가져오거나 설정합니다.

public:
 property bool ManualAddressing { bool get(); void set(bool value); };
public bool ManualAddressing { get; set; }
member this.ManualAddressing : bool with get, set
Public Property ManualAddressing As Boolean

속성 값

Boolean

프록시에서 주소 헤더를 추가하지 않으면 true이고, 그렇지 않으면 false입니다. 기본값은 false입니다.

예외

통신 개체가 Opening 또는 Opened 상태에 있는 경우

통신 개체가 Closing 또는 Closed 상태에 있는 경우

통신 개체가 Faulted 상태에 있는 경우

예제

Uri baseAddress = new Uri("http://localhost:8001/Simple");
ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService), baseAddress);

serviceHost.AddServiceEndpoint(
    typeof(ICalculator),
    new WSHttpBinding(),
    "CalculatorServiceObject");

serviceHost.Open();

IChannelListener icl = serviceHost.ChannelDispatchers[0].Listener;
ChannelDispatcher dispatcher = new ChannelDispatcher(icl);

bool isManualAddressing = dispatcher.ManualAddressing;
Dim baseAddress As New Uri("http://localhost:8001/Simple")
Dim serviceHost As New ServiceHost(GetType(CalculatorService), baseAddress)

serviceHost.AddServiceEndpoint(GetType(ICalculator), New WSHttpBinding(), "CalculatorServiceObject")

serviceHost.Open()

Dim icl As IChannelListener = serviceHost.ChannelDispatchers(0).Listener
Dim dispatcher As New ChannelDispatcher(icl)

Dim isManualAddressing As Boolean = dispatcher.ManualAddressing

설명

이 속성은 ChannelDispatcher의 인스턴스가 Created 상태에 있는 경우에만 설정할 수 있는데 그 이유는 이 상태가 변경 가능하면서 삭제되지 않은 유일한 상태이기 때문입니다.

애플리케이션에서 이 헤더를 제어할 수 있도록 클라이언트가 요청/응답 메시지에 메시지 ID 및 회신 대상 주소 헤더를 추가하지 못하게 하려면 ManualAddressing 속성을 true로 설정합니다.

적용 대상