3

Web アプリケーションからコンソール アプリケーションにデータを送信する必要があります。現在の計画では、Web アプリがデータをデータベースに送信し、コンソール アプリがデータベースをポーリングして、データが挿入されたときにデータを処理する必要があります。データベースをポーリングする必要がないように、Web アプリがデータを送信できる http ハンドラーを含めるようにコンソール アプリを変更する必要がありますか? これら 2 つのアプリケーション間でデータを通信するためのより良い方法はありますか? コンソール アプリが Web アプリにデータを送信する必要はありません。

アップデート

これは .NET 2.0 コンソール アプリケーションであるため、WCF は実行可能なオプションとは思えません。データ ペイロードはかなり小さく (9 桁の ID フィールドがいくつか、合計 150 バイト未満)、1 分あたり約 10 の速度で送信されます。これら 2 つのアプリケーション間にファイアウォールはありません。

4

3 に答える 3

0

最も単純なテクノロジを使用して、コンソール アプリは、Timer または BackgroundWorker によって制御されるループでデータベースに接続できます。新しいレコードとそうでないレコードを知る方法が必要です。ポーリング時にそのテーブルからレコードを削除できる場合、それを行うたびに新しいレコードのみが取得されることを意味します。それらを削除できない場合は、そのテーブルの TimeStamp フィールドを使用し、ポーリングするたびに、そのタイム スタンプが前のバッチの最大タイム スタンプよりも大きいレコードを選択します。これらのレコードを処理済みとしてマークする必要がある場合は、そのフラグを設定してタイムスタンプを忘れることができます。

于 2009-02-07T11:01:44.623 に答える