2009-02-27 21 views
2

バックグラウンドで実行され、データベースに入り、特定のロジックに基づいて特定の行をスキャンして更新するものが必要です。私はすべての時間のように実行するには、この必要があると私の環境では、Windows Server 2003、のSQLServer 2005WindowsサービスとWindows Workflow Foundationの比較

は、この目的のためにWWFの良いですか?または、Windowsサービスを作成する必要がありますか?そして、WWFとWindowsサービスの違いは何ですか?単にこれを行う最良の方法は何ですか?

おかげで、 レイ。

答えて

2

何か内のワークフローランタイム(コンソールアプリケーション、ASP.Net、Windowsサービス、など)をホストする必要があります。私はWFで多くの仕事をしてきましたが、WFでそれをしないと主張する主な理由は、MSが10月にPDCでMSが言ったことに従って、MSが基本的にWFの次のバージョンを基本的に完全に書き換えていることです。 4.0でレガシー3.0/3.5の活動を行うことができましたが、私の印象は大きな変化が起こるということでした。あなたはWFが提供するモジュラーアクティビティ機能を必要としないよう

また、それが聞こえます。 WFは、あなたが必要としないように聞こえる抽象概念のレイヤーを追加します。さらに、作成するワークフローを実行するためにWindowsサービスを作成する必要があります。起こっていたロジックを常に変更する必要があるビジネスマンがいて、作成したいプロセスの管理に大きな投資をしたければ、WFは良い選択です。

また、私はあなたがデータベースに直接アクセスを持っていない場合を除き、あなたは、SQL ServerでSSISパッケージを作成することを検討すべきであると言っているものに基づいていることに同意するものとします。

3

ワークフローではなくWindowsサービスを使用するといいでしょう。ワークフローを使用するのは、プロセスが関与している場合です。

実際には、あなたの質問をもう一度読んだので、SQL Serverの仕事だけでなく、それらの仕事も考慮したいと思うかもしれません。テーブルのレコードを更新するだけです。あなたが好きな間隔で実行するようにスケジューリングすることができます。

Windowsサービスは、Windowsのバックグラウンドで実行される長期実行プロセスです。 Windows Workflow Foundationワークフローは、ビジネスプロセス(または何か)のワークフローのレイアウトに使用されます。あなたは私があなただったら、私は、Windowsサービスを使用します

+0

あなたの答えをありがとう。私はサーバー上でASP.NETアプリケーションを実行します。テーブルをスキャンするためのバックグラウンドプロセスが必要です。 –

+0

ええと、私はSQL Serverの仕事をお勧めします。あなたがする必要があるのは、スケジュールされた間隔でクエリを実行するだけであれば、それは行く方法でしょう。 – cbeuker

0

Windowsサービスは、ワークフローの主な特徴は、スケジュールされていない、あなたは、Windowsのサービスインフラストラクチャは、すでにこのすべてが含まれており、そのも十分に文書化するとき、それのためのホストを提供する必要がありますが、過去に私のために仕事を持っていました。

関連する問題