2013-11-13 2 views
0

Я разрабатываю браузер с асинхронным браузером на основе SQL Server с ASP.NET MVC в C#. Мой проект состоит из веб-проекта, приложения winforms и базы данных, конечно. В моей базе данных у меня есть таблица под названием Пользователь с свойством DateTime с именем LastLogin и еще одним булевым свойством с именем isOnline. Я хочу установить isOnline на false, если (LastLogin + 15sec = < DateTime.Now), поэтому 15 секунд - это таймаут. Какое наилучшее решение для решения этой проблемы, на ваш взгляд? У вас есть предложения для лучшего титула?SQL Server: обнаружение изменения столбца в зависимости от условия

+0

15 секунд кажется, ужасно короткая ", вошедшего в сессии. Вы спрашиваете, как вы регулярно проверяете БД и обновляете isOnline за кулисами? –

+0

Первой мыслью, что у меня был, был триггер (puke), но он будет работать только при входе в систему. Поэтому он никогда не будет обновляться до «offline» –

+0

, конечно, я знаю о сеансе в MVC, но я хотел бы сделать свой собственный для образовательных целей. вот некоторые из моих методов: BeginSession(), KeepAlive(), Deauth() ... Я думал о методе в моем приложении winforms, который обновляет все записи пользователя (LastLogin + 15sec = thaRyy

ответ

0

Прежде всего, проверьте что-то вроде , чтобы посмотреть, как они это делают. Во-вторых, я бы посмотрел на это через сеанс & & Выход из системы.

В вашем Global.asax

void Session_End(Object sender, EventArgs E) { 
    // update the database with "offline" 
} 

В вашем коде выхода из системы

protected void LogOut_Click(object sender, EventArgs e) 
{ 
    // logout 
    // update database with "offline" 
    // redirect to public page of your choosing. 
} 
Смежные вопросы