다음을 통해 공유


IMessageFilterTable<TFilterData>.GetMatchingValue 메서드

정의

지정된 메시지나 버퍼링된 메시지가 테이블에서 정확히 한 필터의 일치 조건을 충족하는지 여부를 나타내는 값을 반환하고, 일치하는 필터에 대한 필터 데이터를 반환합니다.

오버로드

GetMatchingValue(Message, TFilterData)

지정한 버퍼링된 메시지가 테이블에서 한 필터의 일치 조건을 충족하는지 여부를 나타내는 값을 반환하고, 일치하는 일치하는 필터 데이터를 컬렉션에 추가합니다.

GetMatchingValue(MessageBuffer, TFilterData)

지정된 버퍼링 메시지가 테이블에서 정확히 한 필터의 일치 조건을 충족하는지 여부를 나타내는 값을 반환하고, 일치하는 필터 데이터를 컬렉션에 추가합니다.

설명

최대 하나의 필터가 메시지와 일치해야 하고 일치하는 필터의 필터 데이터만 복구해야 하는 경우 이러한 메서드 중 하나를 사용합니다. 이러한 메서드는 일치하는 필터가 있는지 여부를 나타내는 부울을 반환하고 참조 매개 변수를 data 일치하는 필터 데이터로 설정합니다.

필터 테이블의 필터에서 메시지 본문을 검사하지 않는 경우 를 사용합니다 GetMatchingFilter .

필터 테이블의 필터에서 메시지 본문을 검사할 수 있는 경우 메시지를 버퍼링하고 메서드 버전에 GetMatchingFilter 전달합니다.

GetMatchingValue(Message, TFilterData)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

지정한 버퍼링된 메시지가 테이블에서 한 필터의 일치 조건을 충족하는지 여부를 나타내는 값을 반환하고, 일치하는 일치하는 필터 데이터를 컬렉션에 추가합니다.

public:
 bool GetMatchingValue(System::ServiceModel::Channels::Message ^ message, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.Message message, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.Message * 'FilterData -> bool
Public Function GetMatchingValue (message As Message, ByRef value As TFilterData) As Boolean

매개 변수

message
Message

테스트할 Message입니다.

value
TFilterData

out 에 일치하는 를 저장하는 FilterData 매개 변수입니다 message.

반환

메시지가 테이블에 있는 필터 중 정확히 하나의 일치 조건을 충족하면 true이고 조건을 충족하는 필터가 없으면 false입니다.

설명

단일 필터가 메시지와 일치해야 하고 일치하는 필터의 필터 데이터만 복구해야 하는 경우 이 메서드를 사용합니다.

이 메서드는 최대 단일 일치 필터를 예상합니다. 둘 이상의 필터가 일치하는 경우 을 MultipleFilterMatchesException throw해야 합니다.

필터 테이블의 필터에서 메시지 본문을 검사해야 하는 경우 를 사용하여 CreateBufferedCopy 메시지를 버퍼링하고 메서드 버전에 GetMatchingValue 전달합니다.

구현자 참고

둘 이상의 필터가 메시지와 일치하는 경우 을 MultipleFilterMatchesException throw해야 합니다.

이 오버로드는 을 Message 사용하고 메시지 본문을 검사하려고 하면 을 throw InvalidBodyAccessException 해야 합니다.

적용 대상

GetMatchingValue(MessageBuffer, TFilterData)

Source:
IMessageFilterTable.cs
Source:
IMessageFilterTable.cs

지정된 버퍼링 메시지가 테이블에서 정확히 한 필터의 일치 조건을 충족하는지 여부를 나타내는 값을 반환하고, 일치하는 필터 데이터를 컬렉션에 추가합니다.

public:
 bool GetMatchingValue(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, [Runtime::InteropServices::Out] TFilterData % value);
public bool GetMatchingValue (System.ServiceModel.Channels.MessageBuffer messageBuffer, out TFilterData value);
abstract member GetMatchingValue : System.ServiceModel.Channels.MessageBuffer * 'FilterData -> bool
Public Function GetMatchingValue (messageBuffer As MessageBuffer, ByRef value As TFilterData) As Boolean

매개 변수

messageBuffer
MessageBuffer

테스트할 MessageBuffer입니다.

value
TFilterData

out 에 일치하는 를 저장하는 FilterData 매개 변수입니다 messageBuffer.

반환

메시지가 테이블에 있는 필터 중 정확히 하나의 일치 조건을 충족하면 true이고 조건을 충족하는 필터가 없으면 false입니다.

설명

단일 필터가 버퍼링된 메시지와 일치해야 하고 일치하는 필터의 필터 데이터만 복구해야 하며 메시지 본문을 검사해야 할 수 있는 경우 이 메서드를 사용합니다.

구현자 참고

둘 이상의 필터가 메시지와 일치하는 경우 을 MultipleFilterMatchesException throw해야 합니다.

적용 대상