共用方式為


讀取和擷取訊息簡介

更新:2007 年 11 月

當讀取和擷取訊息時,您必須注意幾項考量。

鎖定存取佇列

當您執行接收作業時,您可能想暫時防止其他使用者也從您正在使用的佇列移除訊息。若要這麼做,您可以將佇列的 DenySharedReceive 屬性設定為 true。設定 DenySharedReceive 可防止任何其他使用者從相同的佇列中移除訊息,直到您透過記憶體回收或是藉由呼叫 Close 方法,釋放對它的使用為止。

要擷取的屬性

訊息有許多個屬性,而篩選您要接收的屬性能讓您將焦點放在只與您相關的資訊。例如,如果您不需使用交易訊息,那麼您可能不想擷取與交易相關聯的屬性。在這種情況下,請將 MessagePropertyFilter 屬性 IsFirstInTransactionIsLastInTransactionTransactionIdTransactionStatusQueue 設定為 false。如此一來,當您的 MessageQueue 元件執行個體從佇列取得訊息時,它就不會擷取與這些屬性對應的任何屬性值。如需詳細資訊,請參閱 HOW TO:指定擷取的訊息屬性

指定接收訊息的格式

當您從佇列讀取訊息時,會使用格式子物件來序列化和還原序列化訊息的內容以操作訊息。依預設,XmlMessageFormatter 物件會與您所建立的任何 MessageQueue 元件執行個體產生關聯,您可以設定它的幾個必要屬性,以用它來接收訊息。您也可以使用其他各種不同型別的格式子物件,如需格式子的詳細資訊,請參閱訊息序列化

XmlMessageFormatter 會使用人們可讀取的 XML 字串,將物件和基本資料型保存為訊息,或從訊息還原保存。當您要使用這個格式子來擷取訊息時,可以設定 TargetTypeNamesTargetTypes 屬性來指出應如何處理產生的訊息。如果您使用其他的格式子物件,屬性也會跟著不同。

請參閱

工作

HOW TO:指定已擷取訊息的格式子

HOW TO:以程式設計方式接收訊息

HOW TO:窺視訊息

概念

非同步訊息處理

訊息序列化