2015-07-13 2 views
0

есть; У меня очень странная проблема Tempdata в моем проекте MVC. Это мой псевдокод;MVC TempData issue

public class MyController: Controller 
    { 
    public ActionResult CreateInvoiceAndCustomerContact() 
    { 
     return View(); 
    } 

    [HttpPost] 
    public ActionResult CreateCustomerContact_Invoice() 
    { 
     { 
      _MyFileCreationObj.CreateTtextFile(); 
     } 
     TempData["ResultMessage"] = "hello"; 
     return RedirectToAction("CreateInvoiceAndCustomerContact"); 
    } 
} 

In object _MyFileCreationObj I have a method which uses "StreamWriter" to create text file: 

    public void CreateInvoiceAndCustomerContact() 
    { 
     using (StreamWriter writer = new StreamWriter(exportedFile)) 
     { 
      //write text to a file 
     } 
    } 

Проблемы я имею: "TempData [" ResultMessage "]" не будет отображаться на моем взгляде.

Если я прокомментировал блок StreamWriter, тогда нет проблемы с показом «TempData [" ResultMessage "]" на мой взгляд.

Может кто-то пожалуйста, пожалуйста, помогите этому?

Cheers Rob.

+0

Я также попробовал еще один тест с кодом: общественный ActionResult TestTempData() { используя (System.IO.StreamWriter писатель = новый System.IO.StreamWriter (@ "D: \ папка \ STH .txt ")) { writer.WriteLine (" sth !!! "); } TempData ["Message"] = "TestMsg"; return RedirectToAction («LoadInvoiceAndCustomerContact»); } Это сообщение просто не отображается на экране. Если я удалю блок «Использование», тогда никаких проблем с отображением сообщения. Может ли кто-нибудь объяснить это, пожалуйста? Сыры, Роберт – user1427235

ответ

0

После того, как я задал вопрос на форуме ASP.NET, я, наконец, исправил проблему: Я пишу свой текстовый файл в папку «BIN», которая вызывает перезапуск пула приложений !!! См. Ссылку: Common reasons why your application pool may unexpectedly recycle Вот почему я потерял свой TempData. Изменяя местоположение файла, все работает сейчас.

Приветствия Роб

Смежные вопросы