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

BizTalk: Knowing send port finished write file

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

我猜问题出在 BizTalk 发送端口正在写入文件时,应用程序拾取该文件并进行处理。

我的场景:

我认为:当文件发送端口正在写入且尚未完成时,编排不会等待而是继续下一步 - 调用应用程序。这会导致上述错误。

我的假设正确吗?

我该如何解决这个问题?

你完全正确,你的编排基本上是在你的发送端口中抛出消息并继续,但你可以改变这种行为,我会给你一个非常简单的解决方案,它是
* 像这样设置你的逻辑发送端口

现在您的编排将等待交付 ACK

*让事情变得更干净 创建一个范围并捕获当您没有收到 ACK

时发生的 Microsoft.XLANGs.BaseTypes.DeliveryFailureException

*同时在您的 catch 块中添加一个暂停编排形状,这样您就可以在您的消息没有到达目的地时恢复您的编排:)

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