3

サポート ヘルプデスクで作業します。新しいチケットが届き、レコードが SQL テーブルに作成され、アナリストがピックアップできる特定のカテゴリにダンプされます。
フロントエンドは、新しいチケットがあるときにアナリストに通知しないため、フロントエンド (ブラウザ) を継続的に更新して、新しいチケットが「To Be Assigned」フォルダに入るかどうかを確認する必要があります。

システムトレイにある通知機能 (GMail Notifier のようなもの) を作成したいと思います。

何らかの良い出発点や、実際にある種の通知機能を作成することに熱意を抱かせるようなスニペットを持っている人はいますか?

ありがとう

4

3 に答える 3

2

ポーリングはこれを行う 1 つの方法ですが、SQL Server 2005 以降を使用している場合、より洗練されたソリューションは SQL Server クエリ通知を使用することです。これにより、クエリ (「SELECT ID FROM Tickets」など) を指定して、結果が変化したときに通知を受けることができます。CodeProject でこれを行う方法に関する優れたチュートリアルがあります。

http://www.codeproject.com/KB/database/QueryNotifications.aspx

于 2010-03-05T16:32:20.107 に答える
1

.NET を使用している場合は、Timer オブジェクトを使用して、「ティック」間隔を 60 秒に設定できます。Tick イベントごとに、SQL データベース テーブルをポーリングし、最後にチケット レコードが作成された日時を変数に格納します。次に、最後の作成日時より後の作成日時で挿入されたチケットレコードがあるかどうかを確認します。別の Timer コンポーネントを追加して、次のデータベース ポーリングまで「カウント ダウン」することもできます。本当にうまくやりたい場合は、データベース ポーリング コードを BackGroundWorker スレッドに配置して、SQL Server 接続を待っている間に GUI が空白にならないようにします。

于 2010-03-02T03:11:53.943 に答える
0

systray 通知機能は、基本的にブラウザの更新と同じことを行い、新しいレコードをサーバーに ping します。おそらく、60秒ごとにサーバーに「ping」するか、通知をどれだけ早く受け取りたいかによって、より速くまたは遅くする必要があります.

C# で作成するのはほとんど簡単です。しかし、あなたはどの言語を使用するかを言いませんでした。Java の専門家がここに来て、Java では些細なことだと言うに違いありません。その後、パイソンの男がやって来て、もっと簡単にできると教えてくれました。

于 2010-03-02T02:04:47.323 に答える