Как вызвать метод контроллера MVC с помощью таймера
Всем привет!
В настоящее время я изучаю MVC и хотел бы получить некоторую помощь в получении части моего проекта для работы. В настоящее время я пишу систему приборной панели, которая проверяет количество файлов в нескольких папках и возвращает значение. Я хотел бы повторно запустить код, который делает это (в контроллере) каждые X секунд/минут и т. д.
Я не хочу, чтобы веб-страница обновлялась, я просто хочу запустить метод, чтобы номера на веб-странице обновлялись правильно.
Поскольку я использую MVC, я, к сожалению, не использую эту систему.Окна.Формы.Функциональность таймера, которая была бы идеально подходит для этого.
Вот код для моего контроллера:
public ActionResult Documentation() { try { #region clinic System.IO.DirectoryInfo letters= new System.IO.DirectoryInfo(@"\\TEST\TEST\TEST\TEST\TEST"); var file = letters.GetFiles().Length; ViewBag.letterCount = file.ToString(); return View(); } catch(exception) { throw; } } #endregion
Что я уже пробовал:
Я пытался сделать это в C# и Ajax/jQuery, но я не уверен, что 1) то, чего я пытаюсь достичь, вообще возможно, 2) Какой метод будет считаться лучшей практикой в отрасли. Любое направление было бы действительно полезно.
F-ES Sitecore
Вам нужно будет сделать это с ajax. Имейте некоторый код в файле js, который находится на каждой странице, использующей window.setInterval для вызова функции js в выбранном вами интервале. В функции, которую вы вызываете, сделайте вызов ajax контроллеру, и контроллер может либо вернуть необработанное число, а затем обновить соответствующий элемент на странице, чтобы показать этот новый номер, либо аналогично он может вернуть представление, чтобы вы получили html-сегмент обратно, и вы можете обновить соответствующую часть экрана с помощью этого html. Если данные, возвращающиеся от контроллера, сложны, то представление может быть проще, если это просто простое число, то пусть оно возвращает только это число.
JoshWigley
В настоящее время я использую очень простой кусок JS, который в данный момент просто обновляет веб-страницу (что ужасно). Я взглянул на выполнение вызова Ajax, но мне нужно будет сделать немного больше чтения, чтобы полностью понять, как реализовать вызов Ajax. Я вижу много общего с GET/POST и т. д. Поскольку я не пытаюсь вставить какие-либо данные, я предполагаю, что хочу использовать метод GET, а не POST?