0

新しいクラスを作成しましたが、null 参照例外が発生しましたが、その理由がわかりません。

オブジェクト参照がオブジェクト インスタンスに設定されていません。

    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 であるという懸念に対処するために、監視を行いましたが、null ではありません。ただし、「new Returner()」を監視すると、次のようになります。

Instance = 'TIMBaseClasses.ReturnerTracking.Returner.Instance' threw an exception of type 'System.NullReferenceException'
4

3 に答える 3

5

HTTPContext.Current非nullですか?である場合はnull、 が得られますNullReferenceException

于 2012-08-29T18:02:28.167 に答える
5

おそらく、HTTPContext.Current または HTTPContext.Current.Session が null である可能性が高くなります

于 2012-08-29T18:02:42.347 に答える
1

あなたのプロパティHTTPContext.Current はnullです

于 2012-08-29T18:03:39.397 に答える