Share via


MessageFilter.Match 方法

定義

在衍生類別中覆寫時,測試訊息或緩衝訊息是否符合篩選條件的準則。

多載

Match(Message)

在衍生類別中覆寫時,測試訊息是否符合篩選條件的準則。 本文無法進行檢查。

Match(MessageBuffer)

在衍生類別中覆寫時,測試緩衝訊息是否符合篩選條件的準則。

備註

兩個多載之間的差異,在於一個多載會接受 Message 參數,但不可以檢查本文; 另一個多載則接受 MessageBuffer 參數,而且可以檢查訊息的任何部分。 訊息標頭會自動獲得緩衝,並且可以由篩選條件進行檢查,而不被取用。 但若本文要由篩選條件檢查,整份訊息就必須加以緩衝,因為未緩衝的訊息本文可被查詢取用,因而導致其內容被終結。

如果不需要檢查本文,便可使用 Match。 如果需要檢查訊息本文,便可使用 Match

Match(Message)

來源:
MessageFilter.cs
來源:
MessageFilter.cs
來源:
MessageFilter.cs

在衍生類別中覆寫時,測試訊息是否符合篩選條件的準則。 本文無法進行檢查。

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 物件。

傳回

如果 true 物件符合篩選條件的準則,則為 Message,否則為 false

備註

這個方法無法檢查訊息本文的內容。

給實施者的注意事項

如果篩選條件嘗試檢查未緩衝訊息的本文,篩選條件一定會擲回 InvalidBodyAccessException, 而不應該傳回 false

適用於

Match(MessageBuffer)

來源:
MessageFilter.cs
來源:
MessageFilter.cs
來源:
MessageFilter.cs

在衍生類別中覆寫時,測試緩衝訊息是否符合篩選條件的準則。

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 物件。

傳回

如果 true 物件符合篩選條件的準則,則為 MessageBuffer,否則為 false

備註

如果本文要由篩選條件檢查,就必須緩衝處理整份訊息。 MessageBuffer 的本文會獲得完整的緩衝,因此可以由篩選條件檢查。 尚未完整緩衝的 Message 本文,可能會由篩選檢查取用。 Message 的標頭項目會自動獲得緩衝,因此可以由篩選條件進行檢查,而不被取用。

適用於