我创建了一个新类,我得到一个空引用异常,我无法弄清楚原因。
对象引用未设置为对象的实例。
namespace TIMBaseClasses.ReturnerTracking
{
[Serializable]
public class Returner
{
private Guid _returnerID;
private string _clientIP;
public Guid returnerID {get { return _returnerID; } set { _returnerID = value; }}
public string clientIP {get { return _clientIP; } set { _clientIP = value; }}
/// <summary>Constructor that sets the default values as needed</summary>
public Returner()
{
returnerID = Guid.Empty;
clientIP = string.Empty;
}
public static Returner Instance
{
get
{
var ret = (Returner)(HttpContext.Current.Session["Returner"] ?? new Returner());
HttpContext.Current.Session["Returner"] = ret;
return ret;
}
}
}
}
当我调用“new Returner()”时,错误发生在底部,“var ret”行的末尾。
调用它的导致错误的行如下。
Returner.Instance.returnerID = id;
修改
为了解决HTTPContext.Current为空的问题,我做了一个监视,它不是null。然而,关于“new Returner()”的手表给了我这个:
Instance = 'TIMBaseClasses.ReturnerTracking.Returner.Instance' threw an exception of type 'System.NullReferenceException'
答案 0 :(得分:5)
HTTPContext.Current
是否为空?如果是null
,您将获得NullReferenceException
。
答案 1 :(得分:5)
HTTPContext.Current或HTTPContext.Current.Session可能更有可能是空的
答案 2 :(得分:1)
您的媒体资源HTTPContext.Current
为空