新しいワークフロー イベント

最終更新日: 2010年4月16日

適用対象: SharePoint Foundation 2010

この記事の内容
概要
SharePoint Foundation により作成されるワークフロー イベント
範囲
ワークフロー イベント レシーバーを開発する

ワークフローはイベントに応答できますが、他のイベント レシーバーのイベント自体を作成して、リッスンすることはできません。この事実は、ワークフローが他のワークフローをリッスンできないこと、また、他のイベントがワークフロー エラーをリッスンできないことを意味します。ただし、この動作が役に立つ状況は数多くあります。たとえば、あるワークフローが他のワークフローを開始できるので、開発者が、承認ワークフローの最後に手順を追加できます。これにより、ワークフローがモジュール化され、既存のコードを再利用できるようになります。また、プリイベント ハンドラーをワークフロー イベントに追加すると、開発者が、検証手順を追加してスキーマまたはシリアル化のエラーを発生前に防いだり、問題が発生したときの管理者との通信手段を提供したりできます。

イベントの数が追加されているほか、カスタム イベントまたはイベント レシーバーを作成して、開発者が特別な環境に対応することができます。

概要

Microsoft SharePoint Foundation 2010 では、開発者は、他の SharePoint イベントで使用するモデルと同じものを使用して、ワークフローのイベント ハンドラーを記述できます。

開発者は、他のワークフローを呼び出し、そのワークフローが完了するのを待つワークフローを記述できます。

開発者は、追加のコードを既存のワークフローに挿入し、既存のコードを新しいコードに流用することで、ワークフロー インスタンスを "すばやく" アップグレードできます。

SharePoint Foundation により作成されるワークフロー イベント

  • WorkflowStarting

  • WorkflowStarted

  • WorkflowCompleted

  • WorkflowLoading

  • WorkflowUnloading 

  • WorkflowPostponed

範囲

他のイベント レシーバーと同様、ワークフロー イベント レシーバーを登録するには、SPWeb (サイト ワークフローなど、サイトで実行されているワークフローでイベントをリッスン)、SPList (そのリスト内のアイテムで実行されているワークフローのワークフロー イベントをリッスン)、または SPContentType を使用できます (コンテンツ イベント レシーバーは、ワークフロー イベントがコンテンツ タイプのドキュメントで実行されているワークフローから発生する場合にのみ開始します)。また、SharePoint Foundation 2010 では、開発者は、レシーバーを SPSite に追加できます。

ワークフロー イベント レシーバーを開発する

ワークフロー イベント レシーバーを作成するために、開発者は SPWorkflowEventReceiver クラスをオーバーライドして、トラップするイベントを実装します。

開発者は、標準の SharePoint イベント レシーバー モデルを使用して、ワークフローのレシーバーを登録します。このモデルでは、SharePoint 機能ソリューションを使用してイベント レシーバーをパッケージ化してインストールするか、オブジェクト モデルを使用してイベント レシーバーを登録します。