【发布时间】:2013-10-17 06:06:56
【问题描述】:
我目前正在使用 Global.ascx 文件中的“Session_Start”函数来保存经过身份验证的用户访问我的网站的时间。
如果用户会话过期,这可以正常工作,但是由于我使用的是持久性 cookie,因此用户可能会在 28 天内返回站点,并且不会调用此函数,因此不会记录在用户拥有的数据库中访问过。
我仔细查看了 Global.ascx 中所有可用的功能,但是我找不到可以执行我需要的功能。
Application_Start - 仅在生命周期内触发运行 Application_BeginRequest - 每个请求 Application_AuthenticateRequest - 每个请求 Session_Start - 当一个新的会话开始时
我认为可以使用的两个事件是 Application_BeginRequest 或 Application_AuthenticateRequest。
有没有办法限制上述事件只在第一次访问网站时运行特定代码,而不是在每次请求时运行?
或者有什么方法可以使用我的主文件吗?
任何建议都会非常有用。
干杯
【问题讨论】:
标签: c# forms-authentication session-cookies global-asax