はどこSessions
にあり、Dictionary<Guid, WebSession>
私NewSession
はnew WebSession()
この行を持っていますか?
Sessions.Add(NewSession.SessionID, NewSession);
この時点で、おそらく目を転がして、「Sessionsがnullであるか、NewSession.SessionIDがnullである」と考えているでしょう。でも:
Sessions == null
false
NewSession.SessionID == null
false
NewSession == null
false
かなり断続的です。おそらく50年に1回発生します。それが発生したときはいつでもSessions.Add(NewSession.SessionID, NewSession);
、すぐにウィンドウで実行でき、正常に動作します。
のコンストラクターWebSession
は同期型であり、Sessions
砂糖が追加されていないバニラ辞書です。
この時点で、デューデリジェンスを行ったと確信しています。それは私のアプリケーションで発生するのに十分無害であり、トラップされてきれいに処理されます-しかし、そもそも何が原因であるかについて私は困惑しています。
WebSession
編集:継承するの: Dictionary<String, Object>
にコンストラクターが呼び出さないためかどうか疑問に思ってbase()
いますが、オブジェクトがnullでないことを確認してから実行することができるので、それでも説明できません。Add(..)