ContextBindingElement 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
바인딩 요소의 컨텍스트와 채널 수신기 및 팩터리를 빌드하는 기능의 일부로 보호 수준 및 교환 메커니즘을 제공합니다.
public ref class ContextBindingElement : System::ServiceModel::Channels::BindingElement, System::ServiceModel::Channels::IContextBindingElement, System::ServiceModel::Description::IPolicyExportExtension
public class ContextBindingElement : System.ServiceModel.Channels.BindingElement, System.ServiceModel.Channels.IContextBindingElement, System.ServiceModel.Description.IPolicyExportExtension
type ContextBindingElement = class
inherit BindingElement
interface IPolicyExportExtension
interface IContextBindingElement
Public Class ContextBindingElement
Inherits BindingElement
Implements IContextBindingElement, IPolicyExportExtension
- 상속
- 구현
설명
사용자는 ContextBindingElement 컨텍스트 교환 프로토콜을 관리하기 위해 서비스의 바인딩에 요소를 추가할 수 있습니다. ContextBindingElement 일반적으로 안정성, 보안 및 전송 바인딩 요소 위에 쌓입니다. A ContextBindingElement 에는 구성 옵션이 필요하지 않으며 , IRequestSessionChannel및 IDuplexSessionChannel에 대한 IRequestChannel채널 팩터리를 만들 수 있습니다. 및 에 IReplySessionChannel대한 채널 수신기를 IReplyChannel만들 수도 있습니다IDuplexSessionChannel. 컨텍스트 채널은 채널 인터페이스를 변경하지 않습니다. 기본 채널 스택은 요청된 채널 셰이프 및 세션 기능을 지원해야 합니다.
채널 수신기 및 팩터리를 사용하여 들어오고 나가는 메시지를 처리하는 데 사용되는 채널 스택의 일부를 생성합니다.
메모
세션 기반 바인딩이 a와 함께 ContextBindingElement 만들어지고 지정된NotAllowedSessionMode = InvalidOperationException 계약과 함께 사용되는 경우 채널이 만들어질 때 throw됩니다. "채널이 열린 후에는 채널 컨텍스트 관리를 사용하거나 사용하지 않도록 설정할 수 없습니다." 세션 기반 채널을 설정 SessionModeAllowed 하거나 Required 사용하지 않아야 합니다.
사용자 지정 바인딩을 만들 때 안정성 및 보안 바인딩 요소를 추가하기 전에 사용자 지정 바인딩에 추가하는 ContextBindingElementBindingElementCollection 것이 좋습니다(있는 경우). 그렇지 않으면 서비스에서 다음 메시지와 함께 throw ProtocolException 할 수 있습니다.
"컨텍스트 채널이 채널에 캐시된 현재 컨텍스트와 일치하지 않는 컨텍스트가 포함된 메시지를 받았습니다. 서비스가 원래 설정된 후 컨텍스트를 변경하지 않도록 설정하거나 채널 속성 'IContextManager.Enabled'를 false로 설정하여 컨텍스트 관리를 사용하지 않도록 설정합니다."
생성자
| Name | Description |
|---|---|
| ContextBindingElement() |
ContextBindingElement 클래스의 새 인스턴스를 초기화합니다. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean) |
지정된 보호 수준, 컨텍스트 교환 메커니즘, 클라이언트 콜백 주소 및 컨텍스트 관리를 사용할 수 있는지 여부를 지정하는 값을 사용하여 클래스의 새 인스턴스 ContextBindingElement 를 초기화합니다. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri) |
지정된 보호 수준, 컨텍스트 교환 메커니즘 및 클라이언트 콜백 주소를 사용하여 클래스의 ContextBindingElement 새 인스턴스를 초기화합니다. |
| ContextBindingElement(ProtectionLevel, ContextExchangeMechanism) |
지정된 수준의 보호 및 교환 메커니즘을 ContextBindingElement 사용하여 클래스의 새 인스턴스를 초기화합니다. |
| ContextBindingElement(ProtectionLevel) |
지정된 보호 수준을 사용하여 클래스의 ContextBindingElement 새 인스턴스를 초기화합니다. |
속성
| Name | Description |
|---|---|
| ClientCallbackAddress |
바인딩 요소의 클라이언트 콜백 주소를 가져오거나 설정합니다. |
| ContextExchangeMechanism |
바인딩 요소의 컨텍스트를 전달하는 데 사용되는 교환 메커니즘을 가져오거나 설정합니다. |
| ContextManagementEnabled |
컨텍스트 관리를 사용할 수 있는지 여부를 지정하는 값을 가져오거나 설정합니다. |
| ProtectionLevel |
컨텍스트에서 바인딩 요소에 대한 보호 수준을 가져오거나 설정합니다. |
메서드
| Name | Description |
|---|---|
| BuildChannelFactory<TChannel>(BindingContext) |
지정된 컨텍스트에 대해 지정된 유형의 채널을 만드는 클라이언트에서 채널 팩터리 스택을 빌드합니다. |
| BuildChannelListener<TChannel>(BindingContext) |
지정된 컨텍스트에 대해 지정된 유형의 채널을 허용하는 클라이언트에서 채널 수신기 스택을 빌드합니다. |
| CanBuildChannelFactory<TChannel>(BindingContext) |
현재 바인딩 요소가 지정된 유형의 채널 및 컨텍스트에 대한 팩터리를 빌드할 수 있는지 여부를 나타내는 값을 반환합니다. |
| CanBuildChannelListener<TChannel>(BindingContext) |
현재 바인딩이 지정된 유형의 채널 및 컨텍스트에 대한 수신기를 빌드할 수 있는지 여부를 나타내는 값을 반환합니다. |
| Clone() |
현재 개체에서 초기화된 새 ContextBindingElement 개체를 만듭니다. |
| Equals(Object) |
지정된 개체가 현재 개체와 같은지 여부를 확인합니다. (다음에서 상속됨 Object) |
| ExportPolicy(MetadataExporter, PolicyConversionContext) |
바인딩 요소의 컨텍스트에 사용자 지정 정책 어설션을 씁니다. |
| GetHashCode() |
기본 해시 함수로 사용됩니다. (다음에서 상속됨 Object) |
| GetProperty<T>(BindingContext) |
채널 스택의 적절한 계층에서 지정된 컨텍스트를 사용하여 형식화된 개체를 반환합니다. |
| GetType() |
현재 인스턴스의 Type 가져옵니다. (다음에서 상속됨 Object) |
| MemberwiseClone() |
현재 Object단순 복사본을 만듭니다. (다음에서 상속됨 Object) |
| ToString() |
현재 개체를 나타내는 문자열을 반환합니다. (다음에서 상속됨 Object) |