1

Web サーバーとデータベース サーバーがあり、既存の C# DLL を使用してデータベースにアクセスし、計算を実行するジョブを実行したいと考えています。

C# でコンソール アプリを作成し、それを Web サーバー (アプリ サーバー) でスケジュールして DB サーバーに対して実行する最も簡単な方法はありますか?

オプションとして SSIS があると思いますが、よくわからないので、タスクとしてスケジュールされたコンソール アプリが最適であると考えました。

どう思いますか?

4

5 に答える 5

1

私は、コンソール アプリ + スケジュールされたタスク アプローチの大ファンです。クリーンで、テストしやすく、問題が発生した場合の再実行が容易になる傾向があります。とはいえ、純粋な SQL で計算を記述できる場合は、すべてを SQL ジョブとして実行できます。または、SQLCLR (SQL Server 内に存在し、基本的に sproc または UDF として表示される .NET アセンブリ) を利用して、SQL ジョブ エンジン内ですべてを実行することもできます。

于 2009-05-27T17:40:38.383 に答える
0

仕事が非常にマイナーな場合は、そのために別のコンソールアプリケーションを作成する必要はありません。ページを個別に記述し、バッチファイル、つまりスケジューラを同じように記述してスケジュールすることができます。ウィンドウのユーザーインターフェイスからスケジュールすることもできます。それとは別に、あなたの仕事がメンテナンスプランの計画/ステップ(インデックスの再作成、データベースのバックアップの作成、デフラグ、履歴/ログのクリーンアップなど)である場合は、SQLサーバーの[管理]の下にメンテナンスプランを作成します"フォルダが利用可能です。

于 2009-05-27T08:44:13.193 に答える
0

はい、最も簡単な解決策は、別のコンソール アプリを作成し、それをスケジュールされたタスクとして実行することです。

Web サーバーにアクセスでき、すべてのツールが既に配置されており、他に何もインストールする必要はありません。

于 2009-05-27T09:51:14.773 に答える
0

コンソール アプリ内でスケジューリングに Quartz.NET ライブラリ (quartznet.sourceforge.net) を使用できます。これはオープン ソースであり、完全に機能します。

于 2009-05-27T09:43:20.530 に答える
0

PowerShell スクリプトから C# DLL を呼び出し、そのスクリプトをスケジュールされたタスクとして実行することもできます。

バックグラウンドでの即時アクションが必要な操作については、プロジェクトごとにサービスを用意することを好みます。

于 2009-05-27T08:52:08.777 に答える