J'ai une routine qui crée n instances d'un flux de travail particulier et les exécute chacune en série. Comment pourrais-je les renvoyer asynchrones?Meilleure façon d'exécuter simultanément plusieurs flux de travail dans WF 4.0
p-code actuel:
forloop
// Création var SyncEvent = new AutoResetEvent (false); WorkflowInstance myInstance = new WorkflowInstance (nouveaux paramètres SomeWorkflow());
// Events
// Completed
myInstance.OnCompleted = delegate(WorkflowCompletedEventArgs e) { syncEvent.Set(); };
// Unhandled Exception
myInstance.OnUnhandledException = delegate(WorkflowUnhandledExceptionEventArgs e)
{
// Message
Console.WriteLine(e.UnhandledException.ToString());
return UnhandledExceptionAction.Terminate;
};
// Aborted
myInstance.OnAborted = delegate(WorkflowAbortedEventArgs e)
{
// Message
Console.WriteLine(e.Reason);
syncEvent.Set();
};
// Run
myInstance.Run();
// Wait
syncEvent.WaitOne();
Quel est l'inconvénient des méthodes anon que vous évitez? –