WWFと外部から発生したイベントを使用してNullReferenceの問題が発生しました。WWFステートマシンは、ステートマシンでイベントを発生させるサービスインスタンスと連携してデータを提供し、もちろん、状態を変更します。「通常の」操作はイベントを使用して正常に機能しますが、奇妙な問題が発生しました。
タイムアウトシナリオを処理するために、状態初期化子に外部タイムアウトメカニズムを使用させて、言及されたサービスにコールバックを登録させました。指定された時間が経過すると、コールバック関数が実行され、ステートマシンでタイムアウトイベントが発生します。イベントは次のように定義されます。
event EventHandler<ExternalDataEventArgs> DeviceSysmapBrdcstTimeoutEvent;
前述のように、タイムアウトメカニズムから呼び出されない場合は正しく機能します。ExternalDataEventArgsは、有効なGUIDを使用して作成されます。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)
誰かアイデア?ありがとう。