asp.net 4.0中自定义成员资格提供程序超时

时间:2010-07-13 12:51:52

标签: asp.net-membership

我在我的项目中实现了自定义成员资格提供程序。我在数据库上保留了一个标志以使用户在线。我想在注销时重置此标志,如果用户正确注销,我可以这样做。我必须重置数据库上的标志,即使浏览器直接关闭或任何机器故障或正常超时,会员提供商解决此问题的任何技巧。专家在等你的答案!!!!!!!

感谢。

2 个答案:

答案 0 :(得分:0)

只为IS_LOGOUT_BUTTON_PRESSED类型(bool)默认为false的用户设置字段 如果用户单击LogOut,则将其设置为TRUE。 如果用户关闭浏览器,它将保持错误。然后你就可以看到用户做了什么。

答案 1 :(得分:0)

我担心你正在倾斜风车。

您会注意到sql提供程序通过简单地更新大多数提供程序方法(以及随后的存储过程)中的最后一个活动,然后使用预定义的“在线时间窗口”来确定用户是否在线实现“在线用户” >可能仍然在线。

要实现权威的'is_online'标志,您需要完全控制用户启动会话和结束会话的方式,由于浏览器ui和浏览器的性质,您无法做到也无法做到这一点。会话和票证到期的方式。

因此,您永远不能确实确定用户是否在线,从而使您为跟踪此指标所做的任何努力都不可靠。

不可靠的数据通常比没有数据的价值低。

我非常肯定你会发现,如你的问题中所描述的那样,对于会话和门票的无状态和自由形式的性质,你会发现一种绝对的挫败感。

对不起,我没有更好的消息。