Is it possible to access a profile without updating LastActivityDate?

前端 未结 2 659
暖寄归人
暖寄归人 2021-01-04 09:29

In asp.net (using MVC, but this happens in regular too)

Profile.GetProfile(username);

will update the LastActivityDate for that user. This

相关标签:
2条回答
  • 2021-01-04 09:37

    You might look at using a provider that someone else has written, rather than write your own.

    This one on Scott Guthrie's blog includes stored procedures which could be called directly by your own code to get the information:

    http://weblogs.asp.net/scottgu/archive/2006/01/10/435038.aspx

    This page has an msi download which installs a sample application for working with custom Profile data. The table based profile performs a lot better than the default on, where all of the profile data is contained in a single database field. The table based one is also a lot easier to query directly, which will help you with your question. The stored procedure from the sample schema is called getCustomProfileData

    Otherwise, just query the database directly.

    0 讨论(0)
  • 2021-01-04 09:50

    You might use one ugly workaround which includes changing aspnet_Profile_GetProperties stored procedure. This one is responsible for getting the properties while accessing user profile.

    Open this procedure and you will find following code at the bottom:

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

    Remove it in order to stop updating the LastActivityDate. You will still get LastActivityDate updated when calling Membership.GetUser(username, true);.

    0 讨论(0)
提交回复
热议问题