在TempData MVC3 C中保存流#

时间:2012-05-22 06:26:47

标签: asp.net-mvc-3 c#-4.0 razor

我有一个InputStream,我在文件加载期间将其保存到TempData [“stream1”]中。然后,我将使用另一个控制器中的按钮单击处理此文件。

我在Temp Data中保存InputStream的原因是在我的下一次按钮点击中访问它。

public string Upload(HttpPostedFileBase fileData)
{
  Stream stream1 = fileData.InputStream;
  TempData["stream1"] = stream1;
  return "ok";
}

接下来我从TempData返回我的流。按钮“查看”将调用以下操作

[Authorize]
public ActionResult MyView(string IsAll)
{
  string html = "";
  TempData["HeaderDetailHTML"] = "";
  Stream str = (Stream)TempData["stream1"];
  if (str != null)
  {
     if (str.Length == 0)
     {
     }
     else
       html = ProcessRTFFile(str, IsAll);
  }
  TempData["CustomHTML"] = html;
  return PartialView("Widgets/MyList",null);
}

现在,问题是,以上在使用asp.NET IIS开发服务器的Dev环境中工作正常,但是当我将其部署到IIS 7或任何服务器时,这仅适用于容量较小的小文件。对于较大的文件,当我尝试访问它时,TempData将丢失键和值。

我无法弄清楚原因。任何理由/解决方案将不胜感激。

0 个答案:

没有答案