Мне нужно вести список зарегистрированных пользователей СТАТУСЫ на уровне сервера («ONLINE» или «OFFLINE»).
Поэтому я написал частичное представление для поддержания текущего статуса пользователя (онлайн, автономно)).Сервер хранит эти значения как в базе данных, так и во всех текущих пользователях в сети, а также в записи в кэше, чтобы я мог получить список всех текущих пользователей в сети из кэша.
Для того, чтобы поддерживать этот список в актуальном состоянииТеперь мне нужен асинхронный вызов AutoRefresh, который уведомляет сервер о необходимости сохранения моего userID в списке ONLINE.Этот вызов должен выполняться каждые XX секунд и должен выполняться только в том случае, если текущее состояние ONLINE.
ВОПРОСЫ:
- Как создать вызов AutoRefresh, который срабатывает каждые XX секунд
- Как я могу убедиться, что этот вызов выполняется только тогда, когда я нахожусь в состоянии ONLINE
Заранее спасибо.
Это частичное представление, о котором идет речь.Куда вы предлагаете поместить код для запуска автообновления (MasterPage, Main View, Partial View) ???
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<%
if (MySite.Security.SiteUser.IsAuthenticated)
{
if (Convert.ToBoolean(ViewData["IsLogged"]))
{
%>
<div id="onlineStatus">
You are currently ONLINE >>
<%: Html.ActionLink("Take a Break", "GoOffline", "Account")%>
</div>
<%
}
else
{
%>
<div id="offlineStatus">
Ready for business >>
<%: Html.ActionLink("Go Online", "GoOnline", "Account")%>
</div>
<%
}
}
%>