2

プロジェクトのワークフロー エンジンとして WF 4 を使用したいと考えています。私が WF を使用しているアクティビティは長時間 (数週間または数か月にわたって発生する可能性があります) であるため、永続ストアを使用したいと考えています。また、永続的な遅延を利用して、事実の数日後に通知を送信できるようにしたいと考えています。私のすべての調査は、IIS でホストされているワークフロー サービスを AppFabric の上に置いて使用するという方向性を示しています。

このシナリオをローカル マシンでテストしたところ、うまくいきました。私のワークフローは持続し、遅延は希望するタイミングで開始されます。問題が 1 つあります。私の会社で定義されたアーキテクチャでは、サービス レイヤー (IIS でホストされる WCF サービス) がデータベース レイヤーと直接対話することができません。これを回避するための良いオプションは、データ アクセス レイヤーを介して永続性 DB への呼び出しをルーティングするカスタム インスタンス ストアを作成することだと考えました。コードを使用してカスタム インスタンス ストアを実装する例を多数見つけることができます (つまり、workflowApplication.InstanceStore = customInstanceStore)。しかし、WCF 対応サービスにはコードがなく、web.config を介して永続ストアを構成できる例が見つかりません。

WCF 対応のワークフロー ホストは、DB と直接通信する組み込みの SQL インスタンス ストアを使用する必要がありますか?

4

1 に答える 1

1

私のすべての調査は、IIS でホストされているワークフロー サービスを AppFabric の上に置いて使用するという方向性を示しています。

それが正しい道です。IIS は WCF エンドポイントを提供し、AppFabric インストールは永続性、遅延、および監視を管理します。

WCF 対応のワークフロー ホストは、DB と直接通信する組み込みの SQL インスタンス ストアを使用する必要がありますか?

まったく必要ありません。実際に行う必要があるのは、永続ストアのタイプを で見慣れているタイプに置き換えることだけですWeb.config。したがって、以下のコード スニペットではSqlWorkflowInstanceStorebehavior型をその場所に配置します。タイプは のようないくつかのカスタム プロパティを受け取る場合があるconnectionStringため、そのように構成する必要があります。

<configuration>
  <system.serviceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior name=”myBehavior”&gt;
          <SqlWorkflowInstanceStore connectionString=”Data Source=myDatatbaseServer;Initial Catalog=myPersistenceDatabase”&gt;
        </behavior>
      </serviceBehaviors>
    <behaviors>
  </system.serviceModel>
</configuration>
于 2012-08-18T03:14:58.937 に答える