Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 是否可以在不更新LastActivityDate的情况下访问配置文件?_Asp.net_Asp.net Mvc_Asp.net Membership_Asp.net Profiles - Fatal编程技术网

Asp.net 是否可以在不更新LastActivityDate的情况下访问配置文件?

Asp.net 是否可以在不更新LastActivityDate的情况下访问配置文件?,asp.net,asp.net-mvc,asp.net-membership,asp.net-profiles,Asp.net,Asp.net Mvc,Asp.net Membership,Asp.net Profiles,在asp.net中(使用MVC,但这种情况也在常规应用程序中发生) 将更新该用户的LastActivityDate。当其他人正在查看该用户的配置文件时,不打算这样做 在membership类中,您可以指定是否使用第二个参数更新此日期,如下所示: Membership.GetUser(username, false); // doesn't update LastActivityDate Membership.GetUser(username, true); // updates LastActi

在asp.net中(使用MVC,但这种情况也在常规应用程序中发生)

将更新该用户的LastActivityDate。当其他人正在查看该用户的配置文件时,不打算这样做

在membership类中,您可以指定是否使用第二个参数更新此日期,如下所示:

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

在配置文件提供程序中是否可以执行类似操作而不编写自己的提供程序?

您可能会考虑使用其他人编写的提供程序,而不是编写自己的提供程序

Scott Guthrie博客上的这篇文章包括存储过程,您可以通过自己的代码直接调用这些存储过程来获取信息:

此页面有一个msi下载,它安装了一个用于处理自定义配置文件数据的示例应用程序。基于表的概要文件的性能比默认的要好得多,默认情况下,所有概要文件数据都包含在单个数据库字段中。基于表格的查询也更容易直接查询,这将帮助您解决问题。示例架构中的存储过程称为getCustomProfileData


否则,只需直接查询数据库

您可能会使用一种难看的解决方法,包括更改
aspnet\u Profile\u GetProperties
存储过程。这一个负责在访问用户配置文件时获取属性

打开此过程,您将在底部找到以下代码:

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

删除它以停止更新
LastActivityDate
。调用
Membership.GetUser(username,true)时,您仍然会得到
LastActivityDate
更新

我强烈建议不要直接查询数据库。否则,这篇文章很棒。@bzlm我尊重你的字符串视图,如果你不给我一个理由,我不能不同意。:)我查询数据库的时间比我想的要长,也没有遇到太多困难。是的,编辑存储过程就是我最后要做的。在某个时候,我可能会将我的站点的概要文件部分重新编写为自定义的或使用第三方,但我需要一个快速修复。
IF (@@ROWCOUNT > 0)
BEGIN
    UPDATE dbo.aspnet_Users
    SET    LastActivityDate=@CurrentTimeUtc
    WHERE  UserId = @UserId
END