다음을 통해 공유


MessageFilter.Match 메서드

정의

파생 클래스에서 재정의된 경우 메시지 또는 버퍼링된 메시지가 필터 기준을 충족하는지 여부를 테스트합니다.

오버로드

Match(Message)

파생 클래스에서 재정의된 경우 메시지가 필터 기준을 충족하는지 여부를 테스트합니다. 본문은 검사할 수 없습니다.

Match(MessageBuffer)

파생 클래스에서 재정의된 경우 버퍼링된 메시지가 필터 기준을 충족하는지 여부를 테스트합니다.

설명

두 오버로드 간의 차이점은 하나는 Message 매개 변수를 사용하고 본문을 검사할 수 없으며, 다른 하나는 MessageBuffer 매개 변수를 사용하고 메시지의 모든 부분을 검사할 수 있다는 점입니다. 메시지 헤더는 자동으로 버퍼링되므로 별도의 사용 없이도 필터를 통해 검사할 수 있습니다. 그러나 버퍼링되지 않은 메시지 본문이 쿼리에 사용되면 그 내용이 제거되므로 필터를 사용하여 본문을 검사하려면 전체 메시지를 버퍼링해야 합니다.

본문을 검사할 필요가 없으면 Match를 사용합니다. 메시지 본문을 검사해야 하면 Match를 사용합니다.

Match(Message)

파생 클래스에서 재정의된 경우 메시지가 필터 기준을 충족하는지 여부를 테스트합니다. 본문은 검사할 수 없습니다.

public:
 abstract bool Match(System::ServiceModel::Channels::Message ^ message);
public abstract bool Match (System.ServiceModel.Channels.Message message);
abstract member Match : System.ServiceModel.Channels.Message -> bool
Public MustOverride Function Match (message As Message) As Boolean

매개 변수

message
Message

테스트할 Message 개체입니다.

반환

Boolean

true 개체가 필터 조건을 충족하면 Message이고, 그렇지 않으면 false입니다.

설명

이 메서드는 메시지 본문의 내용을 검사할 수 없습니다.

구현자 참고

이 필터가 버퍼링되지 않은 메시지의 본문을 검사하려 할 경우 InvalidBodyAccessException가 throw되며, false가 반환되지 않습니다.

적용 대상

Match(MessageBuffer)

파생 클래스에서 재정의된 경우 버퍼링된 메시지가 필터 기준을 충족하는지 여부를 테스트합니다.

public:
 abstract bool Match(System::ServiceModel::Channels::MessageBuffer ^ buffer);
public abstract bool Match (System.ServiceModel.Channels.MessageBuffer buffer);
abstract member Match : System.ServiceModel.Channels.MessageBuffer -> bool
Public MustOverride Function Match (buffer As MessageBuffer) As Boolean

매개 변수

buffer
MessageBuffer

테스트할 MessageBuffer 개체입니다.

반환

Boolean

true 개체가 필터 조건을 충족하면 MessageBuffer이고, 그렇지 않으면 false입니다.

설명

필터에서 본문을 검사하려면 메시지 전체를 버퍼링해야 합니다. MessageBuffer의 본문은 전체적으로 버퍼링되므로 필터를 통해 검사할 수 있습니다. 전체적으로 버퍼링되지 않은 Message 본문은 필터 검사에 사용될 수 있습니다. Message의 헤더 요소는 자동으로 버퍼링되므로 별도의 사용 없이도 검사할 수 있습니다.

적용 대상