BizTalk:知道发送端口写完文件

时间:2015-07-13 10:34:25

标签: biztalk biztalk-2009

我遇到了发送端口和应用程序的问题:该进程无法访问该文件,因为另一个进程已锁定该文件的一部分。

我猜问题是BizTalk发送端口正在写一个文件,应用程序拾取这个文件和进程。

我的情景:

  • 我有一个带文件发送端口的业务流程,可以将文件写入某个位置。

  • 在此端口之后,我有另一个发送端口来调用应用程序来选择写入的文件和进程。

我认为:虽然文件发送端口正在写入但尚未完成,但业务流程不会等待,而是继续下一步 - 调用应用程序。这导致了上述错误。

我的假设是否正确?

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

您完全正确,您的业务流程基本上会将消息抛出您的发送端口并继续,但您可以更改此行为,我会在这里为您提供一个非常简单的解决方案。 *像这样设置您的逻辑发送端口 DeliveryNotification=transmitted

现在您的业务流程将等待发送确认

*让事情更清洁 创建一个范围并捕获Microsoft.XLANGs.BaseTypes.DeliveryFailureException,当您没有收到ACK时会发生该错误

*还可以在catch块中添加一个暂停Orchestration形状,以便在您的消息无法到达目的地时恢复您的编排:)

这适用于文件和FTP协议,(我没有测试其他人)