2016-11-22 58 views
0

我有一個asp.net mvc應用程序,並且在我的開發計算機上似乎一切正常,但是當我嘗試在服務器上部署和運行應用程序時,它給了我以下錯誤:會話變量無法在部分類中訪問

System.NullReferenceException:未將對象引用設置爲對象的實例。

這發生在這行代碼中。我所要做的就是在會話中設置一個值。

我有這個代碼在控制器的部分類。

public partial class HomeController : BaseController 
{ 
    public ActionResult Index(string Value) 
    { 
    System.Web.HttpContext.Current.Session["Test"] = "world"; 
    return View(); 
    } 
} 
+0

值得注意的是,如果你沒有會話操作,你可以更好地運行和擴展......如果你有足夠的上下文來處理給定的請求(userid通過令牌/ cookie)和請求參數,你應該能夠重新查找其他任何東西,並使用緩存規則來保存臨時數據。 – Tracker1

+0

我需要在站點範圍內存儲一些變量,並希望這些變量可以在其他控制器中訪問。你可以參考任何建議你的方法的文章,謝謝。 – desiguy

回答

0

感謝,導致我在這裏找到解決方案:

解決方案1從ASP.NET MVC - Session is null爲我工作。

「 解決方案1:

鏈接:。HttpContext.Current.Session當路由請求

得到它很愚蠢的,實際上是空它的工作之後,我刪除&添加SessionStateModule像這樣:

<configuration> 
    ... 
    <system.webServer> 
    ... 
    <modules> 
     <remove name="Session" /> 
     <add name="Session" type="System.Web.SessionState.SessionStateModule"/> 
     ... 
    </modules> 
    </system.webServer> 
</configuration> 

簡單地增加,因爲「會話」應已在machine.config定義它不會工作。

現在,我想知道這是否是通常的事情。它似乎並不如此,因爲它看起來很粗糙......「