System.NullReferenceException检查是否!= null
我正在使用ASHX处理程序,我希望处理程序检查Session!= null。
if (context.Session["Username"] != null)
我得到这个错误指向这一行:
System.NullReferenceException:未将对象引用设置为对象的实例。
有什么问题?
if (context.Session["Username"] != null)
你的处理程序是否实现了IRequiresSessionState
? 否则会话可能不可用。
来自MSDN :
指定目标HTTP处理程序需要对会话状态值的读写访问权限。 这是一个标记界面,没有方法。
像这样使用它。 其中一个封装对象可能已经为null:
if (context != null) if (context.Session != null) if (context.Session["Username"] != null) { // Do stuff }
是的我会说检查上下文是否先不为空。
我的.ashx文件有类似的问题。 解决方案是处理程序必须实现IReadOnlySessionState(用于只读访问)或IRequiresSessionState(用于读写访问)。 例如:
public class myModule: IHttpHandler, IRequiresSessionState { ... }
这些接口不需要任何其他代码,但可以充当框架的标记。
希望这会有所帮助。
乔纳森
上述就是C#学习教程:System.NullReferenceException检查是否!= null分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。
如若转载,请注明出处:https://www.ctvol.com/cdevelopment/942211.html