Ответ на этот вопрос во многом будет зависеть от того, что вы подразумеваете под перезагрузкой некоторой информации в проекте ASP.NET MVC . Это не ясно заявленная проблема, и поэтому более чем очевидно, что у нее не может быть четко сформулированного ответа.
Поэтому, если мы предположим, что этим вы хотите периодически опрашивать некоторые действия контроллера и обновлять информацию о представлении, вы можете использовать функцию javascript setInterval , чтобы периодически опрашивать сервер, отправляя запрос AJAX и обновляя UI:
window.setInterval(function() {
// Send an AJAX request every 5s to poll for changes and update the UI
// example with jquery:
$.get('/foo', function(result) {
// TODO: use the results returned from your controller action
// to update the UI
});
}, 5000);
Если, с другой стороны, вы имеете в виду выполнение какой-либо задачи на сервере через регулярные периоды, вы можете использовать метод RegisterWaitForSingleObject , подобный следующему:
var waitHandle = new AutoResetEvent(false);
ThreadPool.RegisterWaitForSingleObject(
waitHandle,
// Method to execute
(state, timeout) =>
{
// TODO: implement the functionality you want to be executed
// on every 5 seconds here
// Important Remark: This method runs on a worker thread drawn
// from the thread pool which is also used to service requests
// so make sure that this method returns as fast as possible or
// you will be jeopardizing worker threads which could be catastrophic
// in a web application. Make sure you don't sleep here and if you were
// to perform some I/O intensive operation make sure you use asynchronous
// API and IO completion ports for increased scalability
},
// optional state object to pass to the method
null,
// Execute the method after 5 seconds
TimeSpan.FromSeconds(5),
// Set this to false to execute it repeatedly every 5 seconds
false
);
Если вы имеете в виду что-то еще, не стесняйтесь предоставить более подробную информацию по вашему вопросу.