我有一个第三方DLL的问题,它不是线程安全的,但我需要在编排中调用。在BizTalk Orchestration中进行线程不安全的DLL调用(或一次只运行一个Orchestration)
我正在做一个表达式形状中的DLL调用。在许多不同的业务流程中调用相同的DLL。
我遇到的问题是,对于一系列传入消息,BizTalk将并行运行多个业务流程(或多个业务流程实例) - 这会导致DLL中出现异常。
有没有什么办法解决这个问题,因为重构DLL不是一个选项。或者,有没有办法让BizTalk在任何时候只运行一种编排? (我见过一些黑客将工作池限制为处理器数量,但这似乎没有帮助,我们不能降级到单核机器!)
我宁愿找到一种方法保持DLL快乐(虽然我想不出如何)比油门BizTalk - 但如果有一种方法来扼杀这将是一个可接受的短期解决方案,而我们与第三方讨论。 (谁是一个大型组织,真的应该知道得更多!)
也许自己包裹的dll和做一些锁,然后调用从编排的包装。 –