.NET托管工作流群集问题

时间:2009-10-09 09:45:06

标签: serialization workflow-foundation

我正在尝试在我的测试环境中重现服务器场,以便为我正忙于设计的应用程序尝试一些东西。

我有两个Web服务器,分别运行IIS 6.0和7.0,每个服务器都托管一个具有完全相同dll的工作流服务。他们共享一个持久性数据库。

当ServerA将工作流保存到持久性存储时,在后续请求中,ServerB很乐意加载工作流实例并对其进行一些操作。 ServerB保存工作流后,ServerA在尝试对工作流执行进一步调用时会收到序列化异常。如果我使用不同的服务器作为ServerB,我会得到相同的行为。

我可以通过使用两台不同的服务器解决问题,并将ServerA排除在等式之外。

我的问题是:我如何准确调试为什么ServerA不会加载其他机器保存的工作流程?

更新 - 我尝试使用两个IIS 6.0服务器,相同的操作系统和相同的强名称程序集 - 并且具有完全相同的问题

1 个答案:

答案 0 :(得分:1)

好的,我明白了。

ServerA为.NET安装了一个修补程序,这意味着其中一个被序列化的类的实际二进制签名是不同的。

纯粹的机会可以通过一种方式而不是另一种方式进行反序列化。

我在所有服务器上加载了修补程序,现在序列化工作正常。