質問

ワークフローは、IIS5(生産環境はIIS6になります)で実行されているワークフローサービスでホストされています。これはリクエスト/承認サービスなので、承認を待っている間に遅延(数日)があり、その遅延が承認なしに通過した場合、ワークフローは承認者に電子メールを送信します。保留中のワークフローは、新しいリクエスト(つまり、新しいワークフローインスタンス)をキックオフした場合に「目を覚まし」、電子メールを送信するだけであることに気付きました。新しいフローを開始する際に、何かがインスタンスストアをチェックして、再開して再開される場合があると思います。私は以前に数日ではなく数分であった遅延でテストしていたので、問題に気づいただけです。私はまだIIS6で試していませんが、同じだと思います。

Q1)フローを定期的にチェックして再開するために、コンソールアプリなどを書く必要がありますか?それとも私はちょうど何か間違ったことをしましたか?

Q2)Q1への答えが「はい、何かを書く必要がある」と仮定すると、私がIIS7とAppFabricを使用する場合(これは可能かもしれません)、睡眠/履歴書は、チェックして再開するためのコードを書く必要なく動作します流れ?つまり、ワークフローサービスをAppFabricに展開するだけで機能しますか?

前もって感謝します。

役に立ちましたか?

解決

Q1への答えはイエスです。 IIS AppDomainがリサイクルされた後、外部リクエストが発生するまで再起動しません。その結果、WorkFlowserviceHostはアクティブではなく、期限切れの遅延活動は再開されません。 7の前にIISのバージョンを使用すると、WorkflowserviceHostが利用可能であることを確認するための外部リクエストを作成する必要があります。これを行う最も簡単な方法は、WSDLページを定期的に取得するWindowsサービスだけです。

IIS7とAppFabricにアップグレードすると、IISが実行されるとすぐに自動的に起動するようにサービスを構成でき、同じ問題を処理できます。 AppFabricが追跡などの多くの追加の利点を提供するため、このオプションをお勧めします。

他のヒント

はい、Windows Server AppFabricのワークフロー管理サービスは、保留中のタイマーでワークフローを目覚めさせます。これは、他のグッズと同様に無料で入手できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top