有没有办法在IIS中仅为网站的某些部分显示自定义错误页面?

时间:2015-08-18 13:18:16

标签: asp.net wcf soap iis-7.5 custom-errors

我有一个网站,公开常规网页以及WCF网络服务。 理想情况下,网页应显示状态500的自定义错误页面(在web.config中使用httpError),而Web服务会抛出soap错误。

不幸的是,状态500的自定义错误页面也会使用自定义错误页面隐藏soap错误。

有没有办法在IIS 7.5中仅为网站的某些部分启用自定义错误页面? (我不能将Web服务放在一个单独的站点中,它取决于网页中的运行时对象。)

1 个答案:

答案 0 :(得分:1)

如果您的所有Web服务文件都存储在与站点其余部分不同的目录中,您只需在该目录中放置一个新的web.config文件并在其中设置<httpErrors>节点即可。这将覆盖根web.config

中的设置

如果您在普通URI和Web服务URI之间没有清晰的分离,则可以使用根web.config中的location节点,例如:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <location path="service/foo.aspx">
        <system.webServer>
            <httpErrors>
                <remove statusCode="502" subStatusCode="-1" />
            </httpErrors>
        </system.webServer>
    </location>
</configuration>

您可以根据需要拥有尽可能多的这些位置节点。