我创建了一个新类,我得到一个空引用异常,我无法弄清楚为什么.
你调用的对象是空的.
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;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用"new Returner()"时,错误发生在底部,在"var ret"行的末尾.
调用它导致错误的行如下.
Returner.Instance.returnerID = id;
Run Code Online (Sandbox Code Playgroud)
编辑
为了解决HTTPContext.Current为空的问题,我做了一个监视,它不是null.但是,关于"new Returner()"的手表给了我这个:
Instance = 'TIMBaseClasses.ReturnerTracking.Returner.Instance' threw an exception of type 'System.NullReferenceException'
Run Code Online (Sandbox Code Playgroud)