Asp.net

是否可以在不更新 LastActivityDate 的情況下訪問個人資料?

  • August 18, 2011

在 asp.net 中(使用 MVC,但這也經常發生)

Profile.GetProfile(username);

將更新該使用者的 LastActivityDate。當其他人正在查看該使用者的個人資料時,這不是有意的。

在成員資格類中,您可以指定是否使用第二個參數更新此日期,如下所示:

Membership.GetUser(username, false); // doesn't update LastActivityDate
Membership.GetUser(username, true); // updates LastActivityDate

無論如何,在不編寫我自己的提供程序的情況下,是否可以在配置文件提供程序中做類似的事情?

您可能會使用一種醜陋的解決方法,其中包括更改aspnet_Profile_GetProperties儲存過程。這個負責在訪問使用者配置文件時獲取屬性。

打開此過程,您將在底部找到以下程式碼:

IF (@@ROWCOUNT > 0)
BEGIN
   UPDATE dbo.aspnet_Users
   SET    LastActivityDate=@CurrentTimeUtc
   WHERE  UserId = @UserId
END

刪除它以停止更新LastActivityDate. LastActivityDate呼叫時您仍會得到更新Membership.GetUser(username, true);

引用自:https://stackoverflow.com/questions/3438200