2009-06-30 4 views
2

私はそれほど騒がずにすべてを処理するWindows WorkflowのデフォルトSQL永続性サービスを使用してきました。現在、私が配備する環境の1つに、データベースへの直接アクセス権がありません。追加のセキュリティのためにストアドプロシージャ呼び出しをプロキシを介してWebサービス経由でプッシュします。これはもちろん、SQL永続性の神を喜ばせるものではありませんが、私はその環境からそれを活用できるようにしたいと考えています。実際に私がデフォルトの動作と私の環境のためにコード化したものとの唯一の違いは、ストアドプロシージャを呼び出すもう1つの方法です。直接アクセスではなくリモートで(Webサービスがデータセットを前後にシャッフルします)。Windows Workflow:カスタムパーシスタンスサービス、同じスキーマとロジック?

この問題を解決して永続性サービスを活用できる場合は、どうしますか?理論的には、同じテーブルとプロシージャをすべて保持したいのですが、ストアドプロシージャを呼び出すために必要なものについては適切な参照を見つけることができません。

答えて

3

SQL Compactに対して機能するWorkflowPersistenceServiceを作成しました。それは、元のSqlWorkflowPersistenceServiceの内部構造と密接に似ていますが、ストアドプロシージャを使用しないという例外はありますが、SQL Compactはそれらをサポートしていないため不可能です。プロバイダは代わりにLinq to SQLを使用します。 L2SはSQL ServerとしてSQL Compactと同等に機能するため、プロバイダはいずれかのプロバイダと完全に良好な関係にあります。 SQLスキーマは単一のユーザーデータベースであるため、データベーススキームの唯一の違いは所有権の削除です。それはそれを加えることは非常に簡単だと述べた。これを取ってWorkflowPersistenceServiceとL2Sの間にWCFレイヤーを追加することは、非常に困難であるとは言えません。

http://code.msdn.microsoft.com/SqlCeWFPersistenceからプロジェクトをダウンロードできます。

変更が必要なコードは、SqlCeDataAccessクラスです。

+0

完璧な完璧な、まさに私が探していたもの。どうもありがとう! – Chris

関連する問題