2014-11-14 161 views
0

我無法確定如何檢索收到消息的時間戳。根據收到的消息的時間,我必須將電子郵件發送到兩個不同的發送端口。我明白我該如何動態地發送消息,但不知道,我如何根據它到達的時間來決定。檢索收到消息的時間戳

任何人都可以幫助我。非常感謝。

+0

您使用了哪種適配器?根據適配器的不同,當收到文件/ msg時可能會設置其他屬性。 – 2014-11-14 14:46:09

+0

在接收端使用文件適配器 – xyz 2014-11-14 14:50:21

回答

1

由於您使用的是文件適配器,因此您可以讀出http://schemas.microsoft.com/BizTalk/2003/file-properties NameSpace的FileCreationTime屬性。當該文件是由適配器監視的文件位置中的創建的時,該屬性保存日期時間。

當你要當它是在BizTalk收到消息的日期時間,你應該使用http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties命名空間的AdapterReceiveCompleteTime

enter image description here

+0

如何比較AdapterReceiveCompleteTime和時間7.00 am。它應該在發送端口還是通過編排 – xyz 2014-11-14 15:18:53

+0

您可以在Pipeline或Orchestration中讀取此屬性。你應該能夠像這樣使用它:msg_MyMessage(MessageTracking.AdapterReceiveCompleteTime) – 2014-11-14 15:33:29

+0

在規則下的決策形式下,我使用了這個RM(MessageTracking.AdapterReceiveCompleteTime)== 07:00:00;我收到錯誤。 – xyz 2014-11-14 15:43:09

1

有幾種選擇:

使用文件適配器,你有FileCreationTime屬性,通過文件適配器設置。這不是接收的時間戳,但可能足以滿足您的理由。

enter image description here

如果你需要,當你收到的文件有確切的時間戳,你需要創建一個自定義管道組件,要麼:

  • 包括它的消息在某處
  • 或者使用DateTime.Now在消息的上下文中寫入/提升屬性。

然後,您可以在基於映射或內容的路由中使用它。

我認爲這些是您的選擇。

+0

Pieter Vandenheede如何比較FileCreationTime與時間7.00 am。它應該在發送端口還是通過編排 – xyz 2014-11-14 15:13:29