Csharp/C#教程:System.NullReferenceException检查是否!= null分享


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

(0)
上一篇 2021年11月13日
下一篇 2021年11月13日

精彩推荐