【发布时间】:2010-10-25 08:47:17
【问题描述】:
我有一些 C# 代码在 IIS7 下运行时会给出 StackOverflowException,但是当它在 VS2008 中的 Cassini 下运行时,代码运行良好。
这是 Cassini 以不同方式处理这些异常的已知问题吗?
【问题讨论】:
-
你能显示导致问题的代码吗?
标签: visual-studio-2008 iis-7 c#-2.0 cassini
我有一些 C# 代码在 IIS7 下运行时会给出 StackOverflowException,但是当它在 VS2008 中的 Cassini 下运行时,代码运行良好。
这是 Cassini 以不同方式处理这些异常的已知问题吗?
【问题讨论】:
标签: visual-studio-2008 iis-7 c#-2.0 cassini
IIS 运行时为线程使用不同的堆栈大小。 IIRC 它是 256 KB,而不是在标准 .NET 运行时上运行时获得的标准 1 MB,这是 VS 使用的。换句话说,您的代码可能在常规 .NET 运行时运行良好,但在 IIS 下耗尽了堆栈。
从 Cassini 的角度来看,它听起来像是使用常规的 .NET 运行时,所以我希望它也使用每个线程 1 MB 的堆栈大小。
【讨论】:
您可以使用 EDITBIN 命令更改堆栈大小。或通过创建具有所需堆栈大小的自己的线程来更改它
【讨论】: