다음을 통해 공유


IMessageFilterTable<TFilterData>.GetMatchingFilters 메서드

정의

지정된 메시지나 버퍼링된 메시지가 충족하는 쿼리 조건을 가진 필터를 컬렉션에 추가합니다.

오버로드

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

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

설명

메시지와 일치 하는 필터가 두 개 이상 예상 되 고 일치 하는 필터가 필요 하면 다음 방법 중 하나를 사용 합니다. 필터를 포함 하는 컬렉션은 결과가 추가 되기 전에는 지워지지 않습니다. 이렇게 하면 여러 필터 테이블의 모든 일치 항목을 단일 컬렉션으로 누적 시킬 수 있습니다.

필터 테이블의 필터를 통해 메시지 본문을 검사 해야 하는 경우 메시지를 버퍼링 하 여 메서드에 전달 합니다 GetMatchingFilters . 그렇지 않으면 GetMatchingFilters를 사용합니다.

일치 하는 MessageFilter 개체는 results 매개 변수에 저장 됩니다. 그런 다음에서 제공 하는 메서드를 사용 하 여 필터 테이블에서 이러한 필터를 키로 사용 하 여 필터 데이터를 복구할 수 있습니다 IDictionary<TKey,TValue> .

GetMatchingFilters(Message, ICollection<MessageFilter>)

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

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::Message ^ message, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.Message message, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.Message * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (message As Message, results As ICollection(Of MessageFilter)) As Boolean

매개 변수

message
Message

테스트할 Message입니다.

results
ICollection<MessageFilter>

ICollection<T><필터>와 일치하는 MessageFilter 개체를 저장하는 참조 매개 변수입니다.

반환

Boolean

message가 테이블에 있는 필터 중 적어도 하나의 일치 조건을 충족하면 true이고 조건을 충족하는 필터가 없으면 false입니다.

설명

메시지와 일치 하는 필터가 두 개 이상 예상 되 고, 일치 하는 필터가 필요 하며, 메시지 본문을 검사 하지 않아도 되는 경우이 메서드를 사용 합니다.

구현자 참고

이 버전은를 사용 Message 하며, InvalidBodyAccessException 메시지 본문을 검사 하려고 하면이 throw 되어야 합니다.

적용 대상

GetMatchingFilters(MessageBuffer, ICollection<MessageFilter>)

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

public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ messageBuffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public:
 bool GetMatchingFilters(System::ServiceModel::Channels::MessageBuffer ^ buffer, System::Collections::Generic::ICollection<System::ServiceModel::Dispatcher::MessageFilter ^> ^ results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer messageBuffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
public bool GetMatchingFilters (System.ServiceModel.Channels.MessageBuffer buffer, System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> results);
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
abstract member GetMatchingFilters : System.ServiceModel.Channels.MessageBuffer * System.Collections.Generic.ICollection<System.ServiceModel.Dispatcher.MessageFilter> -> bool
Public Function GetMatchingFilters (messageBuffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean
Public Function GetMatchingFilters (buffer As MessageBuffer, results As ICollection(Of MessageFilter)) As Boolean

매개 변수

messageBufferbuffer
MessageBuffer

테스트할 MessageBuffer입니다.

results
ICollection<MessageFilter>

ICollection<T><필터>와 일치하는 MessageFilter 개체를 저장하는 참조 매개 변수입니다.

반환

Boolean

messageBuffer가 테이블에 있는 필터 중 적어도 하나의 일치 조건을 충족하면 true이고 조건을 충족하는 필터가 없으면 false입니다.

설명

버퍼링 된 메시지와 일치 하는 필터가 두 개 이상 예상 되 고, 일치 하는 필터가 필요 하며, 메시지 본문을 검사 해야 할 경우이 메서드를 사용 합니다.

적용 대상