请教关于Session的问题
真是搞不明白了,请大神帮忙,
win7 下的IIS,
首页访问没有问题,是不是可以理解 为IIS配置应该是过了,
然后从首页开始登录
里面有这样一句
“ if (context.Session["User"]==null)//以前没有登录过”
就是判断是不是已经登录(防止已经登录的客户又跳转回登录页面)
如果已经登录,就直接跳转到主页面,不用重新登录
可是,总是出错,在vs2008里调试没有问题。
我想是不是说session没有实例化啊?可是,我没有取值,只是判断是不是为null啊,就算没有实例化,不是也会返回null的吗?难道是IIS有问题?不支持SESSION吗?
在线等回答
下面是返回的错误结果:
“/”应用程序中的服务器错误。
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 14: {
行 15: Users singleUser = null;
行 16: if (context.Session["User"]==null)//以前没有登录过
行 17: {
行 18: string UserName = string.Empty;
源文件: c:\Users\yxshu\desktop\onlinetest\PrecompiledWeb\OnLineTestWebSite\ashx\Login.ashx 行: 16
堆栈跟踪:
[NullReferenceException: 未将对象引用设置到对象的实例。]
Login.ProcessRequest(HttpContext context) in c:\Users\yxshu\desktop\onlinetest\PrecompiledWeb\OnLineTestWebSite\ashx\Login.ashx:16
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75
版本信息: Microsoft .NET Framework 版本:2.0.50727.4927; ASP.NET 版本:2.0.50727.4927
[解决办法]
本帖最后由 net_lover 于 2014-01-04 17:38:27 编辑 你实现
IRequiresSessionState接口来吗?
另外,是在什么处理程序的什么阶段执行的代码?
另外,存储的对象要标记为Serializable的
[解决办法]
首先确定你的HttpContext 对象是不是null。
[解决办法]
你的web.config文件做过改动没有?你放置一个默认的试试
或者加上
<configuration>
...
<system.webServer>
...
<modules>
<remove name="Session" />
<add name="Session" type="System.Web.SessionState.SessionStateModule"/>
...
</modules>
</system.webServer>
</configuration>
另外,iis中集成模式、经典模式换一下试试
[解决办法]
试试 孟子E章的方法。
看看IIS的配置。。