4

我的 ASP.NET Web 应用程序在 IIS 7.5 下运行良好。但我想确保它已准备好在网络场中运行。所以我在我的开发机器上启用了网络花园。(在应用程序池中设置 Maximum Worker Processes=2。)

在站点周围单击似乎没问题,但是在任何 AJAX 请求时,我都会收到 500.19 错误。错误是这样的:

无法访问请求的页面,因为该页面的相关配置数据无效。

无法添加类型为“错误”的重复集合条目,组合键属性“statusCode,subStatusCode”分别设置为“404,-1”

在我的网络配置中,我有这个:

<system.webServer>
  <httpErrors>
    <error statusCode="404" path="Home/NotFound" />
  </httpErrors>

对我来说看起来不错,我想需要它。但为了好玩,我删除了 httpErrors 部分。然后我得到:

无法连接到远程服务器

当然,我查看了 MS 的排除 500.19 错误。但我猜这个错误是一个红鲱鱼。问题与我的应用程序池或我的代码有关,或者与消息告诉我的内容无关。正如我所说,使用 1 Max Worker Process 一切运行良好。

有任何想法吗?

更新:我意识到我提到的第二个错误“无法连接到远程服务器”是由我的应用程序引起的真正错误。所以 web.config 中的 <error> 元素是 500.19 错误的原因(它掩盖了真正的错误)。也许我不需要这个元素,因为我在 system.web 中有一个类似的元素,它本身似乎具有所需的影响。

问题解决了。但是,我还是想知道为什么单工模式没有问题,而在网络花园模式下就坏了?

4

2 回答 2

8

在您的web.config中,如果您要更改自定义错误,则首先必须删除现有的自定义错误,例如:

<httpErrors>
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" path="http://google.com" responseMode="Redirect" />
</httpErrors>

IIS7相当不错,提示往往在错误信息中:

无法添加类型为“错误”的重复集合条目,组合键属性“statusCode,subStatusCode”分别设置为“404,-1”

于 2011-05-15T13:16:38.810 回答
0

对我来说,这是通过安装c++ redistributable 2015 14.0.23026 解决的

于 2018-12-03T12:34:30.293 回答