【发布时间】:2014-08-11 04:29:08
【问题描述】:
我的 Web 应用程序是名为 MyApplication.exe 的桌面应用程序的 Web 界面。我的 Web 应用程序是用 C# (MVC4) 编写的,它通过 COM-Objects 与 MyApplication.exe(用 delphi 编写)进行通信。
当 16 个客户端通过浏览器调用 Web 应用时,将在服务器上创建 16 个 MyApplication.exe 实例:
我的问题:如果 17 号客户端调用 Web 应用程序,我的事件日志中会出现以下异常:
“系统错误。代码:8。没有足够的存储空间来处理此命令。”
进程资源管理器指出,工作进程 w3wp.exe 消耗约 600 MB 内存,但机器有 4 GB RAM。
注意:创建的实例将保存在会话(inProc)中。
我正在使用:
- MVC4
- ASP.NET CLR 4.0
- IIS 8
- Windows Server 2012 R2(也出现在 Windows 8.1 上)
- 4GB 内存
我尝试了以下方法:
使用 COM 对象通过 VB 脚本在本地创建实例。结果:我能够毫无问题地创建约 50 个 MyApplication.exe 实例。
-
使用以下条目调整 machine.config:
processModel enable="true" memoryLimit="100"
结果:重启worker进程后,问题依旧。
【问题讨论】:
-
专业提示:检查您正在使用的线程/句柄的数量......
-
@whosrdaddy:你能具体说明你的评论吗?什么线程,在哪里可以查看线程数,在哪里可以更改?
标签: asp.net delphi iis com iis-8