C# global.asax中的会话签入与filehandler.ashx冲突
我最近将我的所有会话检查集成到global.asax中,它工作得很好,但由于我在页面调用my filehandler.ashx获取图像时将其放在了global.asax中,因此会话中不断出现空引用错误(但仅当它调用时) 如果我尝试/抓住它,图像将加载,但显然这不是一个好的解决方案C# global.asax中的会话签入与filehandler.ashx冲突,c#,asp.net,session,global-asax,C#,Asp.net,Session,Global Asax,我最近将我的所有会话检查集成到global.asax中,它工作得很好,但由于我在页面调用my filehandler.ashx获取图像时将其放在了global.asax中,因此会话中不断出现空引用错误(但仅当它调用时) 如果我尝试/抓住它,图像将加载,但显然这不是一个好的解决方案 void Application_PostAcquireRequestState(object sender, EventArgs e) { try {
void Application_PostAcquireRequestState(object sender, EventArgs e)
{
try
{
HttpContext context = HttpContext.Current;
if (context.Session["tid"] == null) //Null Reference here
{
理想情况下,我要查找在回发或首次加载时触发的事件,这些事件与filehandler无关。我想如果我做不到,我可以像以前一样把它放在母版页init中(这是一个糟糕的做法吗?),因为这样看起来效果不错。我只是觉得global.asax会是一个更整洁的解决方案
你有没有想过下一步该做什么
到目前为止我尝试过的事件
Application_AcquireRequestState
Application_PostAcquireRequestState
Application_PreRequestHandlerExecute
Application_PreSendRequestContent
ASHX要求显式继承会话状态:
public class SomeCustomService : IHttpHandler, IRequiresSessionState
{
// stuff
}
ASHX要求显式继承会话状态:
public class SomeCustomService : IHttpHandler, IRequiresSessionState
{
// stuff
}
哇,刚刚看到这个,我今晚会测试它,并给出更新。。我仍然在寻找解决方案,谢谢。回过头来看,经过更多的研究,我实际上已经开始实施iRadonlySessionState,但这也很有效,确实让我走上了正确的轨道,在global.asax中一切都很顺利。非常感谢:)哇,刚刚看了这个,我今晚会测试它,并给出更新。。我仍然在寻找解决方案,谢谢。回过头来看,经过更多的研究,我实际上已经开始实施iRadonlySessionState,但这也很有效,确实让我走上了正确的轨道,在global.asax中一切都很顺利。非常感谢:)