我對ASP.NET很陌生,試圖在我在Visual Studio 2015中製作的Web應用程序中的兩個控制器之間傳遞對象。該Web應用程序正在使用ASP.Net 5預覽模板Web應用程序(如果有幫助,我認爲我正在使用測試代碼7,並且我是而不是爲DNX Core 5構建)。使用Tempdata正在崩潰我的應用程序
我遇到的問題是每當我嘗試將任何東西插入TempData變量時,程序似乎崩潰。例如,在「創建」的方法,我有:
[HttpPost]
public ActionResult Create(Query query)
{
switch (query.QueryTypeID)
{
case 1:
TempData["Test"] = "Test";
return RedirectToAction("Index", "EventResults");
case 2:
break;
default:
break;
}
return View();
}
在該方法中,我嘗試下的關鍵「測試」添加一個簡單的測試字符串。當我在那裏運行帶有TempData語句的應用程序時,我收到一條錯誤消息,指出
處理請求時發生未處理的異常。
InvalidOperationException:尚未爲此應用程序>或請求配置會話。 Microsoft.AspNet.Http.Internal.DefaultHttpContext.get_Session()
我試圖要位於該項目的wwwroot的元件的Web.config並添加「的sessionState」對象到一個「的System.Web 「元素,但這對錯誤沒有影響。
任何幫助將非常讚賞,因爲我一直在尋找各地的解決方案。我希望這是愚蠢的/盲目明顯的,我不知何故錯過了。
您是否添加了'Microsoft.AspNet.Session' nuget包並在'Startup'類中添加了會話中間件? – PHeiberg
延遲道歉,Pheilberg。我嘗試過單獨添加Nuget包,並且它導致了一堆奇怪的錯誤(「iApplicationBuilder被定義在未被引用的包中」或類似的東西),但是我正在閱讀你留下的答案,並將嘗試所有這些。非常感謝這些建議,如果它有效,我會將其標記出來! – RMGT
如果您無法使用它,請查看[Session Github Repo](https://https://github.com/aspnet/Session/tree/dev/samples/SessionSample)中的[會話示例] /github.com/aspnet/Session/)。如果你仍然無法工作,請發佈你的'project.json'和'Startup.cs'代碼。 – PHeiberg