2010-03-02 2 views
3

Работайте в службе поддержки. Приходят новые билеты, и записи создаются в таблице SQL, и они сбрасываются в определенную категорию, где любой аналитик может их забрать.
Передняя часть не уведомляет аналитиков о появлении новых билетов, поэтому необходимо наглядно обновить интерфейс (браузер), чтобы узнать, поступают ли новые билеты в папку «Назначить».Notifier for System Tray - пожар, когда новая запись создается в SQL Server

Id хотел бы создать уведомитель (похожий на что-то вроде GMail Notifier), который находится в системном трее.

У кого-нибудь есть хорошие стартовые точки или возможные фрагменты, которые могли бы дать мне некоторый энтузиазм, чтобы фактически создать какой-то опознаватель?

Благодаря

ответ

2

Опрос - это один из способов сделать это, но если вы используете SQL Server 2005 или более позднюю версию, более элегантным решением является использование запросов SQL Server Query Notifications. Это позволяет вам указать запрос (например, «SELECT ID FROM Tickets») и получать уведомления при изменении результатов. Существует большой учебник о том, как сделать это на CodeProject:

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

0

уведомитель Systray в основном будет делать то же самое, как обновления браузера, пинговать сервер для новых записей. Вероятно, вы захотите, чтобы он «пинговал» ваш сервер каждые 60 секунд, или быстрее или медленнее, в зависимости от того, как быстро вы хотите получать уведомления.

Создание одного из C# было бы почти тривиальным. Но вы не сказали, на каком языке вы будете использовать. Я уверен, что парень Java придет сюда и скажет его тривиальным в Java. Тогда придет парень-питон и скажет нам, что он может сделать это еще проще.

1

Если вы используете .NET, вы можете использовать объект Timer и установить интервал «tick» на 60 секунд. На каждом событии Tick вы будете опросить таблицу базы данных SQL и сохранить дату/время создания последней записи в переменной. Затем просто проверьте, есть ли какие-либо записи о билетах, вставленные с датой/временем создания, большей, чем последняя дата/время создания. Вы могли бы добавить еще один компонент таймера для «отсчета» до следующего опроса базы данных. Если вы действительно хотите получить пятно, вы поместите код опроса базы данных в поток BackGroundWorker, чтобы ваш графический интерфейс никогда не удалялся, пока вы ждете подключения к SQL Server.

+0

Спасибо за информацию. Такова проблема - я не «настоящий» разработчик (хотя мог бы получить некоторую помощь от других более опытных коллег. Я сделал немного всех языков. В идеале id хотел бы найти базовый проект для работы над , в идеале .NET/Visual Studio. Кто-нибудь видел какие-либо онлайн-ссылки на похожие проекты/учебники/фрагменты кода? Действительно оценивайте обратную связь до сих пор = Def the push Мне нужно было начать делать это. – Simon