Опрашивает базу данных на предмет обновлений из приложения C #
Вопрос
Я пытаюсь создать свое первое "настоящее" приложение на C # - небольшой любимый проект, помогающий планировать экспертные оценки на работе.
Из-за безумного количества процессов / бюрократии, связанных с внедрением чего-либо нового, а также из-за того факта, что я делаю это вдали от глаз руководства, в свое свободное время, на данный момент - я собираюсь написать это с MS Access ( MS Access) Серверная часть MS Jet Engine (т.е.mdb-файл access) из-за ограничений на то, как я могу развернуть это приложение для своих коллег.
Мой вопрос заключается в следующем:как мне периодически опрашивать базу данных, чтобы получать обновления (новые запрошенные обзоры, сообщения от других разработчиков с запросом информации и т.д.) Из базы данных?
Должен ли я просто установить таймер для каждой формы, которой нужна информация, и обновить все, когда произойдет обновление?
Редактировать:
Я ищу совета конкретно о том, как реализовать таймер.Я не могу устанавливать что-либо на рабочих станциях, у меня нет доступа к серверам (за пределами места для хранения), и я не могу разместить это сам из-за требований безопасности компании, поскольку у нашего клиента нелепые ограничения Министерства обороны.
Думаю, я все равно понял это, поскольку решение "таймер в форме" работает просто отлично (я не знаю, о чем я думал, когда сказал, что хочу дополнительное решение для версии CLI, поскольку оно явно не нужно..уже очень поздно).
Спасибо!
Решение
Вы могли бы запустить фоновый рабочий поток для выполнения обновлений в бесконечном цикле и перехода в спящий режим в конце (или начале) каждой итерации цикла.
Другие советы
разработайте свое приложение как приложение aspnet MVC.таким образом, это веб-сайт, и разработчики могут просто обновлять страницы, чтобы получать последние результаты.это поможет вам во многих отношениях:нет опроса, нет доступа, веб-интерфейс (очень удобный), [слишком много, чтобы упоминать]
начните здесь - http://www.asp.net/learn/mvc-videos/video-395.aspx
Редактировать:больше ссылок:
(это отличные видео)
* http://www.asp.net/learn/mvc-videos/video-396.aspx
* http://www.asp.net/learn/mvc-videos/video-360.aspx
* http://www.asp.net/learn/mvc-videos/video-361.aspx
оррит..я рассыплюсь.
моим лучшим предложением для опроса хранилища данных access было бы использовать System.IO.FileSystemWatcher для мониторинга папки, в которой находится mdb-файл.таким образом, вы можете настроить свой код для опроса с определенным интервалом, но только при срабатывании Измененного события.это должно потреблять меньше ресурсов процессора и доступа к диску.
надеюсь, это поможет.:D