2011-02-02 32 views
1

我有以下線在控制器ASP.NET MVC會員GetNumberOfUsersOnline返回不正確的值

ViewData["UsersOnLineNow"] = Membership.GetNumberOfUsersOnline().ToString(); 

我登錄作爲管理員,但是上面是返回一個0值,由QickWatch驗證。我期待的1

值我也有在控制器

ViewData["RegisteredUsers"] = Membership.GetAllUsers().Count.ToString(); 

這是返回的2正確的值以下,包括我自己在內。

其他人在這方面有問題嗎?

+0

您是如何登錄的? – hunter 2011-02-02 13:07:30

+0

您能否向我們提供您的會員資格配置? – frennky 2011-02-02 14:33:35

回答

0

MSDN:

GetNumberOfUsersOnline返回 用戶數當前 應用程序名稱,其中 最後活動日期比 當前時間少 UserIsOnlineTimeWindow更大。所述 最後活動日期/時間戳是 更新爲當前日期和時間 當用戶憑證由所述的ValidateUser或UpdateUser兩個 方法的 方式或者當驗證到的getUser 過載不帶參數或 一個呼叫使用userIsOnline 參數來指定應該更新日期/時間戳記 。

提示:您可以嘗試將UserIsOnlineTimeWindow設置爲更高的值。默認值是15分鐘,在下面的示例中,我將它設置爲60.

<membership defaultProvider="AspNetSqlMembershipProvider" 
    userIsOnlineTimeWindow="60"> 
    <providers> 
    <add name="AspNetSqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider" 
     connectionStringName="ApplicationServices" 
     enablePasswordRetrieval="false" 
     enablePasswordReset="true" 
     requiresQuestionAndAnswer="false" 
     requiresUniqueEmail="false" 
     maxInvalidPasswordAttempts="5" 
     minRequiredPasswordLength="6" 
     minRequiredNonalphanumericCharacters="0" 
     passwordAttemptWindow="10" 
     applicationName="/" /> 
    </providers> 
</membership>