我有一些C#代码在IIS7下运行时给出了StackOverflowException,但是当它在VS2008中的Cassini下运行时,代码运行正常。
这是Cassini以不同方式处理这些异常的已知问题吗?
答案 0 :(得分:3)
IIS运行时为线程使用不同的堆栈大小。 IIRC是256 KB,而不是在标准.NET运行时运行时获得的标准1 MB,这是VS使用的。换句话说,您可能拥有在常规.NET运行时下运行良好但在IIS下耗尽堆栈的代码。
从Cassini看起来它听起来像是使用常规的.NET运行时,所以我希望它每个线程使用1 MB的堆栈大小。
答案 1 :(得分:1)
您可以使用EDITBIN命令更改堆栈大小。或者通过创建具有所需堆栈大小的自己的线程来更改它