Выполните два класса и вызовите startTask()
в main
.
public void startTask()
{
// Create a Runnable
Runnable task = new Runnable() {
public void run() {
while (true) {
runTask();
}
}
};
// Run the task in a background thread
Thread backgroundThread = new Thread(task);
// Terminate the running thread if the application exits
backgroundThread.setDaemon(true);
// Start the thread
backgroundThread.start();
}
public void runTask()
{
try {
// do something...
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.Web.HttpContext.Current.Cache
Кэш совместно используется на домен приложения - не на Page. Page просто имеет свойство удобства Page. Кэш для получения текущего Кэша, что означает Вас, может просто сделать Кэш ["ключ"] из метода на странице.
, Как Вы заметили, если Вы находитесь в статическом методе - затем, у Вас нет экземпляра Page, и у Вас нет Page. Свойство Cache. Так, необходимо использовать HttpContext. Кэш . Но, ожидайте - у Вас нет экземпляра HttpContext также! Это в порядке, в настоящее время выполняющийся экземпляр хранится в статическом свойстве HttpContext. Текущий .
Так - для ответа на вопрос - в статическом методе используйте HttpContext. Текущий. Кэш. BTW, можно также получить доступ Запрос и свойства Response оттуда.
Я думаю, называя PageMethod, может быть лучшим, можно действительно сделать, если Вы действительно хотите сделать это:
http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
JavaScript является стороной клиента, Кэш находится на Стороне сервера, таким образом, необходимо сделать обратный вызов к методу в приложении asp.net, которое возвращает содержание кэша.
Кэш ASP.NET API действительно хорош, можно использовать Кэш ["Ключ"] для получения кэшируемого содержания, которое Вы любите. Читайте больше здесь: http://msdn.microsoft.com/en-us/library/ms972379.aspx