【发布时间】:2011-10-29 17:31:56
【问题描述】:
我遇到了第 3 方 DLL 的问题,它不是线程安全的,但我需要在业务流程中调用。
我正在表达式形状中进行 DLL 调用。同一个 DLL 在许多不同的业务流程中被调用。
我遇到的问题是,对于一系列传入消息,BizTalk 将并行运行多个业务流程(或业务流程的多个实例) - 这会导致 DLL 中出现异常。
有什么办法可以解决这个问题,因为重构 DLL 不是一种选择。或者,有没有办法限制 BizTalk 在任何时候只运行一个业务流程。 (我见过一些将工作池限制为处理器数量的黑客行为,但这似乎没有帮助。我们不能降级到单核机器!)
我宁愿找到一种让 DLL 满意的方法(尽管我不知道如何)而不是限制 BizTalk - 但是如果有一种方法可以限制 BizTalk,这将是一个可接受的短期解决方案,同时我们与第三个讨论派对。 (谁是一个大组织,真的应该知道得更好!)
【问题讨论】:
-
也许自己包装 dll 并做一些锁定,然后从编排中调用包装器。
标签: dll biztalk parallel-processing orchestration