У меня проблема NullReference, использующая WWF и внешние события, связанные с поднятием. Государственный автомат WWF работает вместе с событиями, вызывающими обслуживание, на государственном компьютере, чтобы предоставлять данные и, конечно же, изменять состояние. Хотя «нормальная» операция отлично работает с использованием событий, у меня возникла странная проблема.Windows Workflow Foundation NullReferenceException
Чтобы обработать сценарии тайм-аута, я разрешаю инициализатору состояния использовать внешний механизм тайм-аута для регистрации обратного вызова в обслуживаемой службе. По истечении заданного времени функция обратного вызова запускается и поднимет событие таймаута в конечном автомате. События определяются следующим образом:
event EventHandler<ExternalDataEventArgs> DeviceSysmapBrdcstTimeoutEvent;
и, как упоминалось, исправно работает, если не вызывается из таймаут-маханизма. ExternalDataEventArgs создаются с использованием действительных Гидов. Excetion получает доступ к делегату в рамках мероприятия:
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)
Кто-нибудь знает? Благодарю.