Asp.net mvc 4 System.OutOfMemoryException:类型为';System.OutOfMemoryException';被扔了。在MVC4中下载大文件

Asp.net mvc 4 System.OutOfMemoryException:类型为';System.OutOfMemoryException';被扔了。在MVC4中下载大文件,asp.net-mvc-4,download,large-files,Asp.net Mvc 4,Download,Large Files,我想下载一个大小为200mb的mvc文件 出现以下错误: System.OutOfMemoryException:引发了类型为“System.OutOfMemoryException”的异常 我的代码是: public FileResult Download(string name) { var videoFilePath = HostingEnvironment.MapPath("~/VideoFile/" + name + ".mp4");

我想下载一个大小为200mb的mvc文件

出现以下错误:

System.OutOfMemoryException:引发了类型为“System.OutOfMemoryException”的异常

我的代码是:

public FileResult Download(string name)
        {
            var videoFilePath = HostingEnvironment.MapPath("~/VideoFile/" + name + ".mp4");
            //The header information
             var file = new FileInfo(videoFilePath);
            //Check the file exist,  it will be written into the response
            if (file.Exists)
            {
                return File(videoFilePath, System.Net.Mime.MediaTypeNames.Application.Octet,
                    file.Name);
            }
            return null;
        }
当文件大小较小时,不会发生此错误


为什么?

我认为您的MVC4项目需要更新以支持200 mb文件,而且IIS也需要更新以支持200 mb文件

要在IIS级别进行更改,我认为将其添加到web.config文件应该可以。(未经测试)


要从另一个文件中提取,请将以下内容添加到web.config文件中

<location path="File">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="4096" />
  </system.web>
</location>
<location path="Picture">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="1024" />
  </system.web>
</location>

其中“文件”和“图片”是控制器名称


在这个链接上,公认的答案还解决了上载超时问题,这对于200 mb的文件来说可能也是一个问题。

我认为您的MVC 4项目需要更新以支持200 mb的文件,而且IIS也需要更新以支持200 mb的文件

要在IIS级别进行更改,我认为将其添加到web.config文件应该可以。(未经测试)


要从另一个文件中提取,请将以下内容添加到web.config文件中

<location path="File">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="4096" />
  </system.web>
</location>
<location path="Picture">
  <system.web>
    <httpRuntime executionTimeout="60" maxRequestLength="1024" />
  </system.web>
</location>

其中“文件”和“图片”是控制器名称


在该链接上,公认的答案还解决了上载超时问题,这对于200 mb的文件来说可能也是一个问题。

最近,在使用Visual Studio 2013处理web应用程序时,我不断收到System.OutOfMemoryException异常

完整的异常消息标题如下所示:

引发了类型为“System.OutOfMemoryException”的System.OutOfMemoryException异常

要解决此问题,我必须重新启动Visual Studio或转到Windows任务管理器并终止IIS Express进程

由于与应用程序内存消耗相关的各种原因,可能会发生此错误。看看我的本地机器内存,总是有足够的可用内存!那是什么原因呢

事实证明,VisualStudio默认使用32位版本的IIS Exoress,而64位版本的IIS Exoress现在就可以使用了!因此,作为一个解决方案,请转到以下路径,并使Visual studio使用64位版本的IISExpress

工具|选项|项目和解决方案| Web项目=>将64位版本的IIS Express用于网站和项目

显然,在幕后,Visual Studio更改了windows注册表中的一个标志,可以在该路径中找到该项


HKEY\U CURRENT\U USER\Software\Microsoft\VisualStudio\12.0\WebProjects-->使用64BITIISEXPRESS

最近,在使用Visual Studio 2013处理web应用程序时,我一直遇到System.OutOfMemoryException异常

完整的异常消息标题如下所示:

引发了类型为“System.OutOfMemoryException”的System.OutOfMemoryException异常

要解决此问题,我必须重新启动Visual Studio或转到Windows任务管理器并终止IIS Express进程

由于与应用程序内存消耗相关的各种原因,可能会发生此错误。看看我的本地机器内存,总是有足够的可用内存!那是什么原因呢

事实证明,VisualStudio默认使用32位版本的IIS Exoress,而64位版本的IIS Exoress现在就可以使用了!因此,作为一个解决方案,请转到以下路径,并使Visual studio使用64位版本的IISExpress

工具|选项|项目和解决方案| Web项目=>将64位版本的IIS Express用于网站和项目

显然,在幕后,Visual Studio更改了windows注册表中的一个标志,可以在该路径中找到该项


HKEY\U CURRENT\U USER\Software\Microsoft\VisualStudio\12.0\WebProjects-->使用64BITIISEXPRESS

你让我又省了24小时思考该怎么办!你让我又省了24小时思考该怎么办!