IIS Express - 增加内存限制
Posted
技术标签:
【中文标题】IIS Express - 增加内存限制【英文标题】:IIS Express - increase memory limit 【发布时间】:2013-11-28 14:21:09 【问题描述】:我在 .NET MVC5 中有一个 VS 项目,它加载一个使用大量内存的外部 dll 文件。平均而言,它使用 500-1000MB 内存。
现在,当我尝试使用默认 IIS Express 服务器调试我的项目时,我几乎总是遇到 OutOfMemory 异常。
我知道普通 IIS 有一个 /3gb 标志,但是 IIS Express 呢?是否有任何设置以便我可以启用此功能,或者除了在开发 PC 上安装完整的 IIS 之外,还有其他解决方案吗?
PS:开发人员 PC 具有 Windows 8.1 64x 和 Visual Studio 2013。
【问题讨论】:
您使用的是 32 位还是 64 位操作系统? 64 位操作系统。而且我没有 IIS,我只有 IIS Express。 @Gapipro:您是否尝试过为工作进程增加虚拟内存? @mrd 这个可以在哪里设置? 您的计算机上安装了多少内存? 【参考方案1】:转到 Visual Studio - 工具 - 选项菜单
选择:- 项目和解决方案,然后选择 Web 项目
勾选复选框:“为网站和项目使用 64 位版本的 IIS Express”
无需修改注册表。
【讨论】:
比起公认的答案,我更喜欢这个。这在 VS2015 上仍然可以正常工作,并保存任何不需要的注册表更改。 很好的答案.. 在 VS 2015 中工作:) 同意!!理想情况下,这应该是选定的答案。在 VS2013 Update 5 中也可以正常工作。 对我来说,这导致“无法加载文件或程序集。试图加载格式不正确的程序。” @JoshNoe 您的依赖项之一可能是 32 位版本。因此您需要获得该依赖项的 64 位版本,如果不可能,您将需要继续使用 32 位版本的 IIS Express【参考方案2】:Cassini 和 IISExpress 默认以 32 位运行...您可以通过添加/设置以下注册表项将 Visual Studio 2012 配置为使用 IIS Express 64 位:
reg add HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebProjects /v Use64BitIISExpress /t REG_DWORD /d 1
IIS Express 8 及更高版本支持这两种模式。最好在更改注册表后使用进程资源管理器之类的应用程序来检查 IISExpress 进程并确保其从 64 位位置运行。在 64 位系统上安装 IIS 8.0 Express 时,32 位和 64 位版本的 IIS 8.0 Express 将分别安装在“%ProgramFiles(x86)%\IIS Express”和“%ProgramFiles%\ IIS Express”文件夹。
或者,您可以在本地安装 IIS 并将其配置为运行您的应用程序。您可以将 Visual Studio 配置为指向 IIS 的本地实例。
【讨论】:
注册表值在 Visual Studio 2010 中似乎不起作用。在 VS 2010 中是否有任何等效项? 对于 Visual Studio 2013,只需将注册表项路径中的11.0
更改为 12.0
此注册表更改适用于 Visual Studio 2015 RC,即 14.0
。
重启 VS2015 以注意 14.0 中的注册表更改以上是关于IIS Express - 增加内存限制的主要内容,如果未能解决你的问题,请参考以下文章