IContextManager.Enabled 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컨텍스트 관리를 사용하도록 설정했는지 여부를 나타내는 값을 가져오거나 설정합니다.
public:
property bool Enabled { bool get(); void set(bool value); };
public bool Enabled { get; set; }
member this.Enabled : bool with get, set
Public Property Enabled As Boolean
속성 값
컨텍스트가 활성화되면 true
이고, 그렇지 않으면 false
입니다.
설명
컨텍스트 관리를 사용하도록 설정하면 컨텍스트 채널은 해당 수명 동안 컨텍스트를 캐시합니다. 컨텍스트는 채널 속성을 통해 채널에서 메서드를 IContextManager
호출 GetContext 하여 검색할 수 있습니다. 채널 속성에서 메서드를 호출 SetContext 하여 열기 전에 컨텍스트를 사용하여 채널을 미리 초기화할 수도 있습니다. 채널이 컨텍스트로 초기화되면 다시 설정할 수 없습니다.
다음은 이 모드의 고정입니다.
채널이 열린 후 에 대한 SetContext 모든 호출은 을
InvalidOperationException
throw합니다.나가는 메시지에서 를 통해 컨텍스트를
ContextMessageProperty
보내려는 모든 시도는 을 throw합니다InvalidOperationException
.컨텍스트가 있는 서버에서 메시지를 받은 경우 채널이 컨텍스트를 사용하여 이미 초기화된 경우 가
ProtocolException
throw됩니다. 컨텍스트를 명시적으로 설정하지 않고 채널이 열리는 경우 서버에서 초기 컨텍스트를 받을 수 있습니다.들어오는 메시지의 는
ContextMessageProperty
항상null
입니다.
컨텍스트 관리를 사용하도록 설정하지 않으면 컨텍스트 채널이 컨텍스트를 관리하지 않습니다.
ContextMessageProperty
를 통해 컨텍스트를 검색, 관리 및 적용하는 것은 애플리케이션의 역할입니다. 채널 속성을 통해 IContextManager
호출 GetContext 하거나 SetContext 를 사용하려고 시도하면 가 발생합니다InvalidOperationException
.
컨텍스트 HTTP 쿠키를 제외한 모든 HTTP 쿠키는 채널 수준에서 처리됩니다. 컨텍스트 HTTP 쿠키는 애플리케이션 수준에서 관리됩니다. 이는 채널이 공유되어 가 대상으로 하는 다른 인스턴스와 통신할 때 예기치 않은 ContextMessageProperty결과를 초래할 수 있습니다. 다음 표에서는 가 또는 false
로 설정된 true
경우 Enabled HTTP 쿠키가 어떻게 영향을 받는지 보여 줍니다.
바인딩 | IContextManager.Enabled 값 | 컨텍스트 HTTP 쿠키 범위 | 기타 HTTP 쿠키 범위 |
---|---|---|---|
BasicHttpBinding | 해당 없음 | Channelfactory | Channelfactory |
BasicHttpContextBinding | true | 채널 | 채널 |
BasicHttpContextBinding | false | 애플리케이션에서 명시적으로 관리하는 각 메시지 | 채널 |
적용 대상
.NET