системная переменная asp.net? - PullRequest
1 голос
/ 18 декабря 2009

Можно ли установить в системе переменную, которая не является уникальной для каждого пользователя? Кто имеет доступ к странице?

Ex.

Я захожу на страницу и в коде что-то вроде этого:

// create variable over all
if (sysstring != null || "")
SystemString sysstring = DateTime.now;

Так что, если другой пользователь уже зашел на страницу, я получу значение даты, когда он зашел на страницу.

Спасибо

Ответы [ 3 ]

4 голосов
/ 18 декабря 2009

Вы ищете Область применения:

string lastAccess = (DateTime)Application["lastAccess"];

Хотя это будет сбрасываться при каждой перезагрузке приложения. Я бы предложил сохранить его в БД, где должны быть все межпользовательские переменные!

0 голосов
/ 18 декабря 2009

Почему бы просто не сделать это статичным?

статическая строка sysstring;

if (string.IsNullOrEmpty (sysstring)) sysstring = DateTime.Now;

Как сказал Лорен, почти все, кроме сохранения этого в базе данных, будет потеряно при перезагрузке приложения.

0 голосов
/ 18 декабря 2009

Вы можете использовать объект приложения:

HttpApplicationState app = this.Context.Application;
DateTime myValue = null;
app.Lock();
try
{
    myValue = (DateTime)app["key"];
    if (myValue == null)
    {
        myValue = DateTime.Now;
        app["key"] = myValue;
    }
}
finally
{
    app.UnLock();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...