有谁知道使用 HttpModule(不接触 Global.asax 文件)将事件添加到 Session 的 OnStart 和 OnEnd 事件的干净方法?
问问题
3069 次
2 回答
4
public void Init(HttpApplication app)
{
var ssm = app.Modules["Session"] as SessionStateModule;
ssm.Start += Foo;
ssm.End += Bar;
}
于 2009-02-11T22:57:33.887 回答
2
可以通过以下方式模拟会话 OnStart 行为 - 在您的 HttpModule 的请求事件之一中 - 检查HttpContext.Current.Session.IsNewSession是否设置为 true。
不过有个坑!如果没有在 Session 对象中设置值,则下一个请求将具有一个正值,即 IsNewSession。因此,一旦您积极检查 IsNewSession,您应该在 Session 对象中设置任何值。
于 2012-01-19T20:56:07.640 回答