2011年5月6日金曜日

IIS Express での Workflow サービスホスティング

IIS で Workflow サービスのホスティングを行う場合の操作について以前の記事で書きました。この方法は IIS Express でも当然有効ですが、一点だけハマった部分があるので書き残しておきます。

  • Windows Server AppFabric をインストールしている
  • AppFabric ランタイム機能のホスティングサービスを有効にしている
  • AppFabric ホスティングサービスにて永続化構成を設定していない

ネックとなったのは Windows Server AppFabric です。これは Windows Vista 以降の IIS で利用できるものなので、自分の Windows7 クライアントにもインストールはしていたのですが、何も設定を行っていなかったため、今回の現象に遭遇しました。厄介なのは、これが IIS 利用時には発生せずに IIS Express 利用時のみに発生する現象だった、という点です。

AppFabric1

これが Windows Server AppFabric の「機能の追加/削除」の GUI です。添付したイメージではホスティングサービスの機能が無効になっています。この状態であれば今回の現象は発生しません。

AppFabric2

こちらが「Configure AppFabric」のGUIです。このように「未設定」の場合に問題が発生します。

この状態で、IIS Express にて Workflow サービスをホスティングし呼び出してみると永続化のエラーが発生します。AppFabricPersistenceDB にログインできません、というエラーです。永続化の設定など、全く行っていなかったので最初は分かりませんでした。例外の情報からAppFabric関連というのは分かるのですが、設定を何も行っていなかったのもあり最初はお手上げでした。色々と試行錯誤の末、AppFabric のホスティングサービス自体を無効にしておけば回避できました。

ここさえ回避してあれば、IIS Express でも簡単に Workflow サービスが利用できます。必要なのは xamlx と web.config の 2 ファイルだけです。IIS Express は XP 環境でも動作しますので、XP 上で Workflow サービスを構成することもできます。

0 件のコメント:

コメントを投稿