J'ai rencontré un problème NullReference à l'aide d'événements WWF et externes. La machine d'état WWF fonctionne avec une instance de service qui déclenche des événements dans la machine d'état pour fournir des données et - bien sûr - pour changer l'état. Alors que l'opération "normale" fonctionne bien en utilisant des événements, j'ai un problème étrange.Windows Workflow Foundation NullReferenceException
Pour gérer les scénarios de dépassement de délai, je laisse l'initialiseur d'état utiliser un mécanisme de temporisation externe pour enregistrer un rappel dans le service menioned. Après l'heure indiquée, la fonction de rappel s'exécute et déclenche l'événement de délai d'attente dans la machine d'état. Les événements sont définis comme suit:
event EventHandler<ExternalDataEventArgs> DeviceSysmapBrdcstTimeoutEvent;
et comme indiqué précédemment fonctionnent correctement s'ils ne sont pas appelés à partir du machanisme de temporisation. Les ExternalDataEventArgs sont créés à l'aide de règles valides. L'Excetion est levée accédant au délégué dans l'événement:
System.Workflow.Activities.EventDeliveryFailedException was unhandled by user code
Message="Event \"DeviceSysmapBrdcstTimeoutEvent\" on interface type \"...\" for instance id \"efa3da3d-8546-4fcf-bc56-bbec04df6d69\" cannot be delivered."
Source="System.Workflow.Activities"
StackTrace:
at System.Workflow.Activities.WorkflowMessageEventHandler.EventHandler(Object sender, ExternalDataEventArgs eventArgs)
Quelqu'un a une idée? Merci.