2010-01-15 5 views
1

Y at-il mécanismes stateful de concours complet en .net (C#) ou des bibliothèques qui me aideront à maintenir un état pour les événements déclenchésconcours complet Stateful en C#

Par stateful Je veux dire un événement lors de la cuisson est sérialisé un stockage persistant. Si le système échoue pour une raison ou une autre, puis, lorsqu'il est racheté, il récupère l'état sérialisé et le déclenche à nouveau.

Je regarde également les événements planifiés aussi - Dans ce cas, l'événement stateful peut être délégué à une heure future et sera garanti d'être déclenché à ce moment même si le système a été acheté à n'importe quel moment entre les deux.

Y a-t-il quelque chose comme ça dans .net?

+1

Ce n'est pas une réponse complète, je vais donc l'afficher ici, mais connaissez-vous MSMQ? Vous voudrez peut-être y jeter un coup d'œil. –

Répondre

1

Il existe une courbe d'apprentissage, mais Windows Workflow Foundation (WF) fait exactement cela. Les workflows ont des activités qui peuvent impliquer l'élévation ou la gestion d'événements et à différents points du workflow, l'état de l'ensemble du workflow peut être sérialisé. Il supporte le serveur SQL hors de la boîte mais vous pouvez étendre la couche de persistance. Lorsque les flux de travail sont repris de la sérialisation, ils reprennent là où ils s'étaient arrêtés. Il est à noter que tout investissement sérieux dans la version actuelle de WF est déconseillé car il a été entièrement réécrit dans .NET 4.0 et vous devriez probablement commencer par le faire si vous n'avez pas investi dans la version actuelle.

0

Vous pourriez faire quelque chose avec PostSharp.

+0

comment? Des liens? –

+0

Rien de spécial, essayez Google sur PostSharp. Si je me souviens bien, la documentation est plutôt spartiate mais c'est assez facile de travailler avec. Il n'y a aucune garantie que vous fassiez ce dont vous avez besoin, mais vous pourrez peut-être le masser selon vos besoins. – brian

1

Bien qu'il ne soit pas techniquement un mécanisme d'événement avec état, Windows Workflow Foundation contient de nombreuses fonctionnalités pour gérer ces types spécifiques de situations.

En particulier, il a des routines en place pour la sérialisation de l'état de travail au stockage, la gestion des échecs, et la récupération des processus de longue durée avec des événements externes.