2009-10-09 9 views
0

Je tente de reproduire une batterie de serveurs dans mon environnement de test, afin d'essayer quelque chose pour une application que je suis en train de concevoir.Problème de clustering de flux de travail hébergé .NET

J'ai deux serveurs Web, exécutant respectivement IIS 6.0 et 7.0, chacun hébergeant un service de flux de travail avec exactement les mêmes DLL. Ils partagent une base de données de persistance. Lorsque ServerA enregistre le flux de travail dans le magasin de persistance, lors d'une requête ultérieure, ServerB est heureux de charger l'instance de workflow et de travailler dessus. Une fois que ServerB a enregistré le flux de travail, ServerA reçoit une exception de sérialisation lors d'une tentative d'appel supplémentaire sur le flux de travail. J'ai le même comportement si j'utilise un serveur différent en tant que ServerB.

Et je peux résoudre le problème en utilisant deux serveurs différents et en laissant ServerA hors de l'équation.

Ma question cependant est: Comment est-ce que je peux déboguer exactement pourquoi ServerA ne chargera pas les workflows sauvés par d'autres machines?

Mise à jour - j'ai essayé avec deux serveurs IIS 6.0, même système d'exploitation et les mêmes assemblées fortement nom - et a eu exactement le même problème

+0

Pouvez-vous poster les détails de l'exception que vous voyez? – Maurice

Répondre

1

OK, je compris.

ServerA avait un correctif installé pour .NET, ce qui signifiait que la signature binaire réelle de l'une des classes en cours de sérialisation était différente.

Par pur hasard, il peut être désérialisé dans un sens et pas l'autre.

J'ai chargé le correctif sur tous les serveurs, et maintenant la sérialisation fonctionne correctement.

Questions connexes