gpt4 book ai didi

asp.net - 64位机器上的系统内存不足异常?

转载 作者:行者123 更新时间:2023-12-02 22:35:33 25 4
gpt4 key购买 nike

我有一个带有其他 6 个类库项目的 asp.net 应用程序。在我的主要类库项目之一中,我缓存了一些静态数据库表。 Webdev.webserver40.exe 达到大约 1.5 GB,它抛出“系统内存不足异常”。我知道在 32 位机器上我的进程大小限制为 2 GB,但我的开发机器是 64 位的,64 位不应该有限制。好的,我明白你是说你的 Asp.net 应用程序无论如何都会运行 32 位,即使我有 64 位机器。因此我得到了异常(exception)。但是我能做些什么来解决这个问题呢?

  • 我打开配置管理器并尝试将所有类库更改为 x64,但我无法更改我的主要网站项目。这就是为什么在 32 位网站上无法识别 64 个引用。

请不要告诉我我应该做本地数据库或其他一些选项而不是缓存到内存中:) 好的,这些也是其他选项,但首先我想知道内存中是否有。我什至需要超过 2GB 的缓存。

PS,调试选项卡下的“启用 VS 托管进程”选项是什么。它会影响我的问题吗?我尝试检查和取消检查,但没有任何改变。确实看起来检查效果更好,但我仍然遇到异常。

编辑 1:正如我发现的那样,它告诉我如果有 32 位应用程序在 64 位操作系统上运行,我最大应该有 2800 mb。进程大小,但为什么它不允许我这样做并在大约 1500mb 时抛出异常。

http://blogs.msdn.com/b/tom/archive/2008/04/10/chat-question-memory-limits-for-32-bit-and-64-bit-processes.aspx

编辑 2:我尝试将该代码添加到我在其中进行缓存的类库的 app.config 中,并按照 msdn 上的建议添加到 web.config 中。它只说框架 4.5,但我使用 4.0。 4.0 有类似的 hack 吗?因为我不确定是否应该安装并开始使用 4.5,因为它不是最新版本。

<runtime>
<gcAllowVeryLargeObjects enabled="true" />
</runtime>

感谢您的帮助。问候。

最佳答案

您可以将 IIS express 设置为在 visual studio 中运行 64 位:

转到 Visual Studio - 工具 - 选项菜单

选择:- 项目和解决方案,然后是 Web 项目

勾选复选框:“为网站和项目使用 64 位版本的 IIS Express”

无需编辑注册表。

关于asp.net - 64位机器上的系统内存不足异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11509120/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com