IIS7 中的 ***Exception 但在 Cassini 中没有
Posted
技术标签:
【中文标题】IIS7 中的 ***Exception 但在 Cassini 中没有【英文标题】:***Exception in IIS7 but not in Cassini 【发布时间】:2010-10-25 08:47:17 【问题描述】:我有一些 C# 代码在 IIS7 下运行时会给出 ***Exception,但是当它在 VS2008 中的 Cassini 下运行时,代码运行良好。
这是 Cassini 以不同方式处理这些异常的已知问题吗?
【问题讨论】:
你能显示导致问题的代码吗? 【参考方案1】:IIS 运行时为线程使用不同的堆栈大小。 IIRC 它是 256 KB,而不是在标准 .NET 运行时上运行时获得的标准 1 MB,这是 VS 使用的。换句话说,您的代码可能在常规 .NET 运行时运行良好,但在 IIS 下耗尽了堆栈。
从 Cassini 的角度来看,它听起来像是使用常规的 .NET 运行时,所以我希望它也使用每个线程 1 MB 的堆栈大小。
【讨论】:
太好了,这似乎是问题所在。只需要看看我现在是否可以修复它。 @nelsona:很高兴我能帮上忙。如果您自己启动线程,则有一个构造函数,可让您设置堆栈大小。也可以通过更改可执行文件的 PE 头来设置默认堆栈大小。 我正在使用这篇文章中的想法:blogs.msdn.com/b/tom/archive/2008/03/31/… 让事情发挥作用:-)【参考方案2】:您可以使用 EDITBIN 命令更改堆栈大小。或通过创建具有所需堆栈大小的自己的线程来更改它
【讨论】:
以上是关于IIS7 中的 ***Exception 但在 Cassini 中没有的主要内容,如果未能解决你的问题,请参考以下文章
时间:2019-05-01 标签:c#parseingxml with and apostrophe throws exception
编程思想之异常处理:C++JavaJavaScript中的异常处理(Exception)