上次活动日期-更好的实施想法
本文关键字:更好 施想法 日期 活动 活动日 | 更新日期: 2023-09-27 18:21:57
对于我在ASP.NET网站中使用的典型用户注册和会员系统,我希望更新上次活动的日期和时间。以下哪种方法比较理想。
1
每当请求访问用户帐户表中数据的方法时,都会使用GETDATE()
自动(O_O)更新last_account_activity
日期
2
从成员系统调用方法后,将UpdateLastActivity()
作为外部方法调用。
信息:
就可靠性而言,#2是理想的,因为当用户主动使用其他表而不是用户帐户表中的数据时,我不能依赖#1。
你觉得怎么样?你有别的办法让我做吗?
Specs
.NET Framework 2.0
Asp.net 2.0
自定义会员提供商实现
Sql Server 2005数据库
方法2优于方法1。
建议
您可以通过Async的方式执行此操作。您只需启动方法UpdateLastActivity()
,然后忘记结果。这样应用程序的性能就不会受到阻碍。
希望这对你有用。
系统是如何构建的(因为它实际上是一个根点)还不太清楚,但考虑到你说#2
解决方案更好(从调用路径的角度来看),我自然会选择更可靠的解决方案,除非它不会损害性能,也不会给我的用户带来挫折。
如果您正在处理DataBase
(这个问题也不太清楚),这里的常见方法是使用绑定到表的触发器。
我个人的观点是,这些方法应该保持独立。这纯粹是因为方法的名称应该反映其目的。因此,将"更新"功能放在一个未命名的方法中并不是一个好的做法。
在我看来,这是一个设计模式的问题。我对您的体系结构了解不多,所以代码可能会更改,但我的基本想法是将每个活动定义为实现相同接口的类,如下所示:
public interface IMemberActivity {
void Execute(IMemberActivityLogger logger);
}