語言

MessageFilter.Match 方法

定義

當在派生類別中覆寫時,會測試訊息或緩衝訊息是否符合過濾器的條件。

多載

名稱 Description
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 完全緩衝,因此可以用濾網檢查。 未完全緩衝的 A Message 體可能會被過濾檢查消耗。 a Message 的標頭元素會自動緩衝,因此可以檢查而不被消耗。

適用於