Существует ли способ получить доступ к кэшу или сессии от статического метода?

Выполните два класса и вызовите 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();
    }
}
18
задан theo 22 December 2008 в 01:41
поделиться

3 ответа

System.Web.HttpContext.Current.Cache

Кэш совместно используется на домен приложения - не на Page. Page просто имеет свойство удобства Page. Кэш для получения текущего Кэша, что означает Вас, может просто сделать Кэш ["ключ"] из метода на странице.

, Как Вы заметили, если Вы находитесь в статическом методе - затем, у Вас нет экземпляра Page, и у Вас нет Page. Свойство Cache. Так, необходимо использовать HttpContext. Кэш . Но, ожидайте - у Вас нет экземпляра HttpContext также! Это в порядке, в настоящее время выполняющийся экземпляр хранится в статическом свойстве HttpContext. Текущий .

Так - для ответа на вопрос - в статическом методе используйте HttpContext. Текущий. Кэш. BTW, можно также получить доступ Запрос и свойства Response оттуда.

34
ответ дан 30 November 2019 в 07:34
поделиться

Я думаю, называя PageMethod, может быть лучшим, можно действительно сделать, если Вы действительно хотите сделать это:

http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/

1
ответ дан 30 November 2019 в 07:34
поделиться

JavaScript является стороной клиента, Кэш находится на Стороне сервера, таким образом, необходимо сделать обратный вызов к методу в приложении asp.net, которое возвращает содержание кэша.

Кэш ASP.NET API действительно хорош, можно использовать Кэш ["Ключ"] для получения кэшируемого содержания, которое Вы любите. Читайте больше здесь: http://msdn.microsoft.com/en-us/library/ms972379.aspx

0
ответ дан 30 November 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: