上次活动日期-更好的实施想法

本文关键字:更好 施想法 日期 活动 活动日 | 更新日期: 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);
}