我一直在ApplicationDbContext構造函數中使用Session值。但在我的大型應用程序中,我使用了在後臺運行的Threading。當Threading方法命中ApplicationDbContext構造函數時,它不會獲得會話值,因爲請求已經完成。我得到空引用異常,所以應用程序崩潰。C#MVC處理ApplicationDbContext中的空值構造函數參數
以下是ApplicationDbContext
構造函數代碼: -
public ApplicationDbContext(string schemaname, string connString = "")
: base(connString)
{
SchemaName = schemaname;
((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180;
}
public ApplicationDbContext(string schemaname)
: this(schemaname, System.Web.HttpContext.Current.Session["ConnStringName"].ToString())
{
}
如何處理空會話在上面的構造?
此代碼給出語法錯誤。 – Anup
@Anup如果你使用C#版本6或更高 - 這應該編譯:「System.Web.HttpContext.Current?.Session?[」ConnStringName「] ?. ToString()」 – Evk
謝謝@Evk。 – HGMamaci