2012-05-04 5 views
0

私はc#.net 4.0で書かれたWebアプリケーションを持っています。 CRUD操作を実行するためにOracleデータベースに接続します。バックグラウンドで実行するタスクを設定するにはどうしたらいいですか?

私が必要とするのは、あらかじめ定義された間隔でデータベースをポーリングして、それが稼働しているかどうかを確認するバックグラウンドタイプのタスクを作成することです。メモリ内のプロパティが設定されていて、それ以上データベースへの要求が行われない場合。タスクは実行を継続し、データベースが再び使用可能になるとプロパティを変更します。

私のアプリケーションでこのような構造を構築するにはどうすればよいのでしょうか、バックグラウンドタスクをどのように設定して実行するか、そのような実装についてアドバイスしていますか?私はこれをバックグラウンドで実行する必要があるため、リソースを集中的に使用する必要はありません。

+2

これは、定期的にデータベースをポーリングすることによって処理する必要があるタスクのようには見えません。アプリケーションに正常にエラー処理が行われるように適切なエラー処理が行われ、重要なコンポーネントが期待どおりに機能していない場合には、ユーザーにエラーが報告されます。 –

+0

@Servyこれはフォームだと思った...削除されました。 – SimpleVar

答えて

0

Windowsサービスは、バックグラウンドタスクのための明白な答えです。基本はかなり簡単です。プロジェクトタイプとしてWindowsサービスを選択して新しいプロジェクトを作成し、そこから移動するだけです。 Windowsサービスインサイド

クラスのインスタンスを作成し、その中にタイマーを作成する - タイマーが起動すると、あなたの定期的なタスクを実行したときに

+0

彼は特にこれがウェブアプリケーションだと言った。 Webアプリケーション内でサービスを作成することはできません。 –

+0

結果は、ページリクエスト(つまりセッション)にアクセス可能なマナーでどのように伝達されますか? – Servy

+0

Re Webアプリケーション:afaik Webアプリケーションでバックグラウンドタスクを実行できないため、Webアプリケーション以外で実行中の他のプロセスが必要になる可能性があります。 – BarneyHDog

0

あなたは、私がWindowsサービスを書くことをお勧めこれを行うが、それは修正する必要がある場合Webアプリケーションがチェックする設定ファイルの設定。私は、両方のアプリケーションが同じ設定ファイルを見ていることがこの場合最も簡単な解決策だと思います。

関連する問題