ログオンしたユーザーのステータスをサーバーレベル(「オンライン」または「オフライン」のいずれか)にしておく必要があります。自動更新機能付きMVCパーシャルビュー
私はユーザーの現在のステータス(オンライン、オフライン)を維持するために部分ビューを作成しました。 サーバーはこれらの値をデータベースと現在のすべてのオンラインユーザーの両方にキャッシュエントリにも格納し、キャッシュから現在のすべての「オンライン」ユーザーの一覧を取得できるようにします。
このリストを最新の状態に保つために、サーバーに自分のuserIDをONLINEリストに保存するように通知する非同期AutoRefresh呼び出しが必要になります。この呼び出しはxx秒ごとに実行され、現在のステータスがONLINEの場合にのみ実行されます。
質問:私は
のおかげですべてのXX秒を発射する自動更新の呼び出しを作成するにはどうすればよい
- 前進。
これは問題のパーシャルビューです。 AutoRefresh(マスターページ、メインビュー、パーシャルビュー)を実行するコードはどこに置くことをお勧めしますか?
<%@ 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> <% } } %>
ユーザーが自分自身を設定しない方法は、オンライン/オフラインになっていますか? – generalhenry
リンクをクリックするとオンラインまたはオフラインになります。私が必要とするのは、ユーザーがまだオンラインであることをサーバーに伝えることです。 これは、XX秒ごとに自動リフレッシュ機能が必要な場所です。 –