MVC 3 Session.Abandon(), вызванная до установки TempData["myvalue"] = "foo" приводит к тому, что следующий контроллер имеет TempData как null

У меня есть контроллер, логика которого ищет:

 //checks value null etc..  for existing record in session memory.
 Session["certnum"]  

Затем в контроллере я решил создать условие, в котором:

 //is called to initiate a New Record that will be created.
 Session.Abandon();

Однако в процедурном кодировании Session.Abandon(); происходит до создания TempData["myobject"] = "foo" , и при прохождении кода TempData в немедленном окне показывает мое значение и все вроде хорошо. Затем при перенаправлении на другой контроллер:

return RedirectToAction("ChildInfo", "NewRecord");  

В этом методе ChildInfo больше нет значения TempData .... Теперь оно равно null. Метод отказа от сессии был вызван намного раньше, чем было установлено значение TempData, не уверен, что это ошибка MVC Sessions, но это не имеет смысла для меня. Если я создаю новую легковесную сессию TempData, то она должна сохраняться до следующего контроллера. Если я удаляю метод Session.Abandon(), то значение TempData сохраняется и работает, как и раньше.

5
задан tugberk 24 September 2011 в 04:09
поделиться