【问题标题】:Trying to increase the default stack size of IIS on Windows Server 2008尝试在 Windows Server 2008 上增加 IIS 的默认堆栈大小
【发布时间】:2020-02-02 21:19:41
【问题描述】:

我目前正在运行 IIS 6.2 的 Windows Server 2008 上运行 ASP.NET WebForms 应用程序,并且开始收到以下错误消息:

System.InsufficientExecutionStackException: Insufficient stack to continue executing the program safely. This can happen from having too many functions on the call stack or function on the stack using too much stack space. at System.Runtime.CompilerServices.RuntimeHelpers.EnsureSufficientExecutionStack() at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)

我花了几个小时试图解决这个问题,并找到了一个通用的解决方案,修改 w3wp.exe 以使用以下命令行将默认堆栈大小从 256kb 增加到 1MB:

EDITBIN /STACK:1048576 w3wp.exe

但是当我尝试使用以下步骤运行它时:

  • 以管理员身份打开 CMD
  • 键入 cd C:\Windows\System32\inetsrv
  • 然后输入 EDITBIN /STACK:1048576 w3wp.exe

我收到以下消息:

'EDITBIN' 不是内部或外部命令、可运行程序或批处理文件。

有人能指出我为什么该命令不起作用的正确方向吗?

【问题讨论】:

  • 这更有可能是您的代码有问题...递归循环?查看您对“FindControl”的调用
  • 嗨@pcalkins,页面上有相当多的。我可以考虑替换 FindControl 函数并通过存储过程生成值。

标签: asp.net iis iis-6


【解决方案1】:

Editbin.exe 依赖于 Visual Studio 的开发人员命令提示符。所以你必须先安装visual studio。 然后你会看到这个

以管理员身份运行,然后就可以直接使用命令行了。

如果命令行不起作用,建议使用调试诊断工具收集和分析工具收集和分析调用堆栈。

https://www.microsoft.com/en-us/download/details.aspx?id=49924

【讨论】:

    猜你喜欢
    • 2010-09-14
    • 2017-07-14
    • 2015-11-22
    • 2019-07-10
    • 2010-11-24
    • 2014-12-18
    • 1970-01-01
    • 2014-09-11
    • 2017-03-02
    相关资源
    最近更新 更多