Как написать «Последнее видел» логику подобное на стеке переполнить

StackOverflow https://stackoverflow.com/questions/3188826

  •  02-10-2019
  •  | 
  •  

Вопрос

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

Вся активность регистрируется в таблице действийLog в базе данных

Когда зарегистрированная в пользователе используется сайт, и создается новая сессия, я обновляю журнал активности с помощью UserID и некоторую очень общую информацию. То же самое происходит, когда они создают новую запись, обновите свой профиль и т. Д.

Проблема у меня есть это.

Если я использую самый последний пункт деятельности, то перейду на свою страницу личной учетной записи, «Последний вид» появляется как 1 секунду назад, потому что я просто нажимал на СЕССИОН Я был там «последний», а не когда я там ».

Тем не менее, если я использую Skip(1).Take(1) Чтобы получить второй рекорд в базе данных, то когда кто-то другой просмотрует мой профиль, в то время как у меня может быть «просто», подписанный ... Они увидят, что я был на неделю назад, а не сегодня.

Какую логику вы бы использовали, чтобы иметь свой пирог и съесть это тоже?

Я использую ASP.NET MVC2 и LINQ для SQL, но я думаю, что этот вопрос больше языка агностики.

Это было полезно?

Решение

Похоже, вы могли бы просто показать вторую последнюю запись для текущего пользователя, и для всех остальных пользователей покажет самый последний.

Другие советы

Что я бы сделал (просто чтобы избежать большой логической петли) было бы добавить два поля. current_seen и last_seen. Отказ При движении входа в систему current_seen к last_seen и установить current_seen на текущий момент времени. Затем отобразить last_seen Как их «последний раз видели на XX / XX / XXX».

Одно место для поиска - это исходный код для OSQA (система Q & A с открытым исходным кодом) -

http://www.osqa.net/

И да, это выглядит очень похоже на стековерфол (чтобы сказать наименее).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top