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)

在多个站点上为PHP配置IIS7

ASP.NET 输出缓存在 IIS7.5 上不起作用

403 - 禁止在 iis7.5 上部署基本 MVC 3 [重复]

我的 IIS7 网站的元数据库密钥在哪里?