ContextBindingElement 클래스

정의

바인딩 요소 컨텍스트의 일부로 보호 수준과 교환 메커니즘을 제공하고 채널 수신기와 팩터리를 빌드하는 기능을 제공합니다.

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를 사용하면 컨텍스트 교환 프로토콜을 관리하기 위해 서비스의 바인딩에 요소를 추가할 수 있습니다. ContextBindingElement는 일반적으로 안정성, 보안 및 전송 바인딩 요소 위에 누적됩니다. 에는 ContextBindingElement 구성 옵션이 필요하지 않으며 , 및 에 대한 채널 팩터리도 만들 수 IRequestChannel IRequestSessionChannel IDuplexSessionChannel 있습니다. , 및 에 대한 채널 수신기를 만들 수도 IReplyChannel IReplySessionChannel IDuplexSessionChannel 있습니다. 컨텍스트 채널은 채널 인터페이스를 변경하지 않습니다. 기본 채널 스택은 요청된 채널 셰이프 및 세션 기능을 지원해야 합니다.

채널 수신기 및 팩터리 는 들어오고 나가는 메시지를 처리하는 데 사용되는 채널 스택의 일부를 구성하는 데 사용됩니다.

참고

세션 기반 바인딩을 사용 하 여 만든 경우는 를 지정 하는 계약과 함께 사용 됩니다는 다음 텍스트를 사용 하 여 ContextBindingElement SessionMode = NotAllowed 채널을 만들 때 InvalidOperationException throw 됩니다: "채널 컨텍스트 관리를 사용 하도록 설정 하거나 채널을 연 후 비활성화할 수 없습니다." 세션 기반 채널을 로 SessionMode Allowed Required 설정하거나 사용하지 않아야 합니다.

사용자 지정 바인딩을 만들 때 안정성 ContextBindingElementBindingElementCollection 보안 바인딩 요소(있는 경우)를 추가하기 전에 사용자 지정 바인딩의 에 를 추가하는 것이 좋습니다. 그렇지 않으면 서비스에서 ProtocolException 다음 메시지와 함께 을 throw할 수 있습니다.

"컨텍스트 채널에서 채널에 캐시된 현재 컨텍스트와 일치하지 않는 컨텍스트가 포함된 메시지를 받았습니다. 서비스가 원래 설정된 후 컨텍스트를 변경하지 않도록 설정하거나 채널 속성 'IContextManager.Enabled'를 false로 설정하여 컨텍스트 관리를 사용하지 않도록 설정합니다."

생성자

ContextBindingElement()

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

ContextBindingElement(ProtectionLevel)

지정된 보호 수준을 사용하여 ContextBindingElement 클래스의 새 인스턴스를 초기화합니다.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism)

지정된 보호 수준 및 교환 메커니즘을 사용하여 ContextBindingElement 클래스의 새 인스턴스를 초기화합니다.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri)

지정된 보호 수준, 컨텍스트 교환 메커니즘 및 클라이언트 콜백 주소를 사용하여 ContextBindingElement 클래스의 새 인스턴스를 초기화합니다.

ContextBindingElement(ProtectionLevel, ContextExchangeMechanism, Uri, Boolean)

지정된 보호 수준, 컨텍스트 교환 메커니즘, 클라이언트 콜백 주소 및 컨텍스트 관리 사용 여부를 지정하는 값을 사용하여 ContextBindingElement 클래스의 새 인스턴스를 초기화합니다.

속성

ClientCallbackAddress

바인딩 요소를 위한 클라이언트 콜백 주소를 가져오거나 설정합니다.

ContextExchangeMechanism

바인딩 요소의 컨텍스트를 전달하는 데 사용된 교환 메커니즘을 가져오거나 설정합니다.

ContextManagementEnabled

컨텍스트 관리를 사용할 수 있는지 여부를 지정하는 값을 가져오거나 설정합니다.

ProtectionLevel

컨텍스트에서 바인딩 요소의 보호 수준을 가져오거나 설정합니다.

메서드

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)

적용 대상