我遇到了发送端口和应用程序的问题:该进程无法访问该文件,因为另一个进程已锁定该文件的一部分。
我猜问题是BizTalk发送端口正在写一个文件,应用程序拾取这个文件和进程。
我的情景:
我有一个带文件发送端口的业务流程,可以将文件写入某个位置。
在此端口之后,我有另一个发送端口来调用应用程序来选择写入的文件和进程。
我认为:虽然文件发送端口正在写入但尚未完成,但业务流程不会等待,而是继续下一步 - 调用应用程序。这导致了上述错误。
我的假设是否正确?
我该如何解决这个问题?
答案 0 :(得分:3)
您完全正确,您的业务流程基本上会将消息抛出您的发送端口并继续,但您可以更改此行为,我会在这里为您提供一个非常简单的解决方案。 *像这样设置您的逻辑发送端口
现在您的业务流程将等待发送确认
*让事情更清洁 创建一个范围并捕获Microsoft.XLANGs.BaseTypes.DeliveryFailureException,当您没有收到ACK时会发生该错误
*还可以在catch块中添加一个暂停Orchestration形状,以便在您的消息无法到达目的地时恢复您的编排:)
这适用于文件和FTP协议,(我没有测试其他人)