Je dois conserver une liste des ÉTATS d'utilisateurs enregistrés au niveau du serveur (soit «EN LIGNE» ou «HORS LIGNE»).MVC Vue partielle avec AutoRefresh
J'ai donc écrit une vue partielle pour maintenir l'état actuel de l'utilisateur (en ligne, hors ligne). Le serveur stocke ces valeurs sur la base de données et tous les utilisateurs en ligne actuels dans une entrée en cache afin que je puisse récupérer la liste de tous les utilisateurs "en ligne" actuels du cache.
Afin de maintenir cette liste à jour, j'ai maintenant besoin d'un appel AutoRefresh asynchrone qui notifie au serveur de garder mon ID utilisateur sur la liste en ligne. Cet appel devrait s'exécuter toutes les xx secondes et ne devrait être exécuté que si le statut actuel est ONLINE.
QUESTIONS:
- Comment puis-je créer un appel AutoRefresh qui se déclenche toutes les XX secondes
- Comment puis-je assurer cet appel exécute seulement quand je suis en état ONLINE
Merci à avance.
Ceci est la vue partielle en question. Où suggérez-vous que je mette le code pour exécuter AutoRefresh (MasterPage, Main View, Vue partielle) ???
<%@ 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>
<%
}
}
%>
Comment les utilisateurs se sont mis en ligne/hors ligne? – generalhenry
Les utilisateurs cliquent sur le lien pour aller en ligne ou hors ligne. Ce dont j'ai besoin, c'est de pouvoir dire au serveur que l'utilisateur est toujours en ligne. C'est là que j'ai besoin de la fonction AutoRefresh toutes les XX secondes. –