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

时间:2012-01-30 12:25:47

标签: c# asp.net sql-server-2005 android-activity

对于我在ASP.NET网站上关注的典型用户注册和会员系统,我想更新上次活动的日期和时间。以下哪种方法最适合遵循。

1

每当请求访问来自用户帐户表的数据的方法时,使用last_account_activity

自动(O_o)更新GETDATE()日期

2

在从会员系统调用方法后,将UpdateLastActivity()作为外部方法调用。

信息:

在可靠性方面,#2是理想的,因为当用户主动使用来自其他表而不是用户帐户表的数据时,我不能依赖#1。

你怎么看?你还有另一种方法吗?

功能

.NET Framework 2.0

Asp.net 2.0

自定义成员资格提供程序实施

Sql Server 2005数据库

4 个答案:

答案 0 :(得分:5)

方法2优于1.

<强>建议

您可以采用异步方式执行此操作。您只需触发方法UpdateLastActivity()并忘记结果。这样,您的应用程序的性能就不会受到阻碍。

希望这适合你。

答案 1 :(得分:2)

不清楚你的系统是如何构建的(因为它实际上是一个根点),但考虑到你说#2解决方案更好(从调用路径的角度来看),我会寻求更可靠的解决方案当然,除非它不会损害性能并且不会给我的用户带来挫败感。

如果您正在处理DataBase(问题也不是很清楚),这里的常用方法是使用绑定到表格的触发器。

答案 2 :(得分:1)

我个人认为这些方法应该分开。这纯粹是因为方法的名称应该反映其目的。因此,将“更新”功能放在未命名的方法中并不是一种很好的做法。

答案 3 :(得分:0)

在我看来,这是一个设计模式问题。我对你的架构了解不多,所以代码可能会改变,但我的基本想法是将每个活动定义为实现相同界面的类,如下所示:

public interface IMemberActivity {
   void Execute(IMemberActivityLogger logger);
}