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

BizTalk:知道发送端口已完成写入文件,biztalk,biztalk-2009,Biztalk,Biztalk 2009,我的发送端口和应用程序有问题:进程无法访问该文件,因为另一个进程已锁定该文件的一部分 我猜问题在于BizTalk发送端口在写入文件时,应用程序会拾取该文件并处理该文件 我的设想: 我有一个带有文件发送端口的编排,用于将文件写入某个位置 在这个端口之后,我有另一个发送端口来调用一个应用程序来拾取写入的文件和进程 我认为:当文件发送端口正在写入且尚未完成时,编排不会等待,而是继续下一步——调用应用程序。这导致了上述错误 我的假设正确吗 我该如何解决这个问题呢?您完全正确您的编排基本上会将消息抛出

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

我猜问题在于BizTalk发送端口在写入文件时,应用程序会拾取该文件并处理该文件

我的设想:

  • 我有一个带有文件发送端口的编排,用于将文件写入某个位置

  • 在这个端口之后,我有另一个发送端口来调用一个应用程序来拾取写入的文件和进程

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

我的假设正确吗


我该如何解决这个问题呢?

您完全正确您的编排基本上会将消息抛出您的发送端口并继续,但您可以更改此行为,我会给您一个非常简单的解决方案,就是
*如下所示设置逻辑发送端口

现在,您的编排将等待传递确认

*把东西弄干净 创建一个作用域并捕获Microsoft.XLANGs.BaseTypes.DeliveryFailureException,该异常在您没有收到ACK时发生

*还可以在catch块中添加一个挂起业务流程形状,以便在邮件未到达目的地时恢复业务流程:)

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