我有一種情況,我分配一些會話的價值。我有一種情況是代碼重複調用。此代碼有時會拋出對象null的錯誤。我沒有得到爲什麼發生這種情況,而我將值分配給it.My代碼如何解決對象空錯誤?
if (HttpContext.Current.Cache["Cache"] == null)
{
CreateChanhe();
DataTable dtcache= HttpContext.Current.Cache["HNS Connection"] as DataTable; //CreateConnectString(CCMMUtility.Encryptdata(txtPin.Text));
string sqlFilter = "Sp = '" + classses.DecryptString(HttpContext.Current.Request.Cookies["Cookies"].Values["sp"].ToString(), classses.SP) + "'";
DataRow[] dr = dtcache.Select(sqlFilter);
if (dr.Length > 0)
{
String[] Con = new String[2];
Con[0] = dr[0][0].ToString();
Con[1] = dr[0][1].ToString();
sp= Con[1];
HttpContext.Current.Session["Name"] = dr[0][2].ToString();
}
}
當我嘗試做「添加監視」,而其調試說,「價值」有一定價值,但HttpContext.Current.Session [「Name」]爲空。有人可以讓我知道爲什麼會發生這種情況。
其實我正在創建一個緩存,然後從該緩存中填充會話。這是基於我的要求。
此代碼行似乎對我來說,我想應該有一些其他代碼行導致此錯誤。你應該詳細說明。 – yogi
嗨, 當您尚未分配任何會話變量值時,您可能正在檢查HttpContext.Current.Session [「Name」]值。 可能請發佈您的代碼,以便我可以分析更多。 –
我已編輯了該代碼請審查。 – Visions