IMessageFilterTable<TFilterData>.GetMatchingValue 方法

定義

傳回值,這個值會指出指定的訊息或是緩衝的訊息是否符合資料表中篩選條件的比對準則,並且傳回相符篩選條件的篩選資料。

多載

GetMatchingValue(Message, TFilterData)

傳回值,這個值會指出指定的訊息是否只符合資料表中之一個篩選條件的比對準則,並且將相符的篩選資料新增至集合。

GetMatchingValue(MessageBuffer, TFilterData)

傳回值,這個值會指出指定的緩衝訊息是否只符合資料表中單一篩選條件的比對準則,並且將相符的篩選資料新增至集合。

備註

當預期最多只有一個篩選條件與訊息相符,而且只有篩選資料必須從相符篩選條件重新取得時,便可使用下列其中一個方法。 這些方法會傳回布林值 (Boolean),由這個值指出是否已找到相符的篩選條件,並且將 data 參考參數設定為該相符的篩選資料。

如果訊息本文不用由篩選資料表中的任何一個篩選條件進行檢查,便可使用 GetMatchingFilter

如果訊息本文可能會由篩選資料表中的篩選條件進行檢查,請緩衝該訊息並將它傳遞至 GetMatchingFilter 版本的方法。

GetMatchingValue(Message, TFilterData)

來源:
IMessageFilterTable.cs
來源:
IMessageFilterTable.cs
來源:
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

如果訊息本文必須由篩選資料表中的篩選條件進行檢查,請以 CreateBufferedCopy 來緩衝處理該訊息,並將它傳遞至 GetMatchingValue 版本的方法。

給實施者的注意事項

如果有一個以上的篩選條件與訊息相符,這時一定會擲回 MultipleFilterMatchesException

這個多載會接受 Message,而如果它嘗試檢查訊息本文,就一定會擲回 InvalidBodyAccessException

適用於

GetMatchingValue(MessageBuffer, TFilterData)

來源:
IMessageFilterTable.cs
來源:
IMessageFilterTable.cs
來源:
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

適用於