Sono molto nuovo ad ASP.NET e sto provando a passare un oggetto tra due controller in un'applicazione Web che sto facendo in Visual Studio 2015. L'applicazione web sta usando un ASP.Net 5 Anteprima dell'applicazione Web modello (se aiuta, penso di utilizzare il codice beta 7 e sono non creazione di DNX Core 5).Uso di Tempdata sta bloccando la mia applicazione
Il problema che sto riscontrando è ogni volta che provo a inserire nella variabile TempData, il programma sembra bloccarsi. Ad esempio, in un metodo "Crea" ho:
[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();
}
In questo metodo, tento di aggiungere una semplice stringa di testo sotto il "test" chiave. Quando eseguo l'applicazione con questa istruzione TempData, ricevo un messaggio di errore che indica
Si è verificata un'eccezione non gestita durante l'elaborazione della richiesta.
InvalidOperationException: la sessione non è stata configurata per questa applicazione o richiesta. Microsoft.AspNet.Http.Internal.DefaultHttpContext.get_Session()
ho cercato di andare al Web.config situato nell'elemento wwwroot del progetto e l'aggiunta di un oggetto "sessionState" in un "system.web "elemento, ma questo non ha avuto alcun effetto sull'errore.
Qualsiasi aiuto sarebbe molto apprezzato perché ho cercato soluzioni per questo ovunque. Spero che sia qualcosa di stupido/accecantemente ovvio che in qualche modo mi è mancato.
Avete aggiunto il pacchetto nuget 'Microsoft.AspNet.Session' e aggiunto il middleware di sessione nella classe' Startup'? – PHeiberg
Scuse per il ritardo, Pheilberg.Ho provato ad aggiungere il pacchetto Nuget individualmente, e ha causato un sacco di strani errori ("iApplicationBuilder è definito in un pacchetto a cui non si fa riferimento" o qualcosa del genere), ma sto leggendo la risposta che hai lasciato e proverò tutto questo . Grazie mille per i suggerimenti e lo segnerò se funziona! – RMGT
Se non riesci a farlo funzionare, controlla [esempio di sessione] (https://github.com/aspnet/Session/tree/dev/samples/SessionSample) in [Session Github Repo] (https://github.com/aspnet/Session/). Se ancora non riesci a farlo funzionare, pubblica il tuo codice 'project.json' e' Startup.cs'. – PHeiberg