2015-07-13 47 views
1

我有一個發送端口和應用程序的問題:該進程無法訪問該文件,因爲另一個進程已鎖定該文件的一部分。BizTalk:知道發送端口完成寫入文件

我想問題是,當BizTalk發送端口正在寫入一個文件時,應用程序接收這個文件和進程。

我的情景:

  • 我有一個文件,業務流程發送端口寫一個文件的位置。

  • 此端口後,我有另一個發送端口來調用應用程序來選擇書面文件和過程。

我想:雖然文件發送端口正在寫入,但尚未完成,編排不會等待,但會繼續下一步 - 調用應用程序。這導致上述錯誤。

我的假設是否正確?

我該如何解決這個問題?

回答

3

你是絕對正確的編排您的發送端口基本上拋出該消息並繼續,但你可以改變這種行爲,我會在這裏給你一個非常簡單的解決方案是
*設置你的邏輯發送端口像這樣 DeliveryNotification=transmitted

現在你的業務流程將等待交付ACK

*爲了讓事情變得更清潔 創建範圍,趕上,當你沒有得到一個ACK時發生的Microsoft.XLANGs.BaseTypes.DeliveryFailureException

*您捕捉同時添加阻止暫停業務流程形狀,所以你可以繼續你的業務流程,如果你的消息不到達其目的地:)

這工作既文件和FTP協議,(我沒有測試其他人)

+0

非常感謝,這對我有用。 –