Asp.net 是否有办法在IIS中仅显示网站部分的自定义错误页?

Asp.net 是否有办法在IIS中仅显示网站部分的自定义错误页?,asp.net,wcf,soap,iis-7.5,custom-errors,Asp.net,Wcf,Soap,Iis 7.5,Custom Errors,我有一个网站,公开常规网页以及WCF web服务。 理想情况下,当web服务抛出soap错误时,网页应该显示状态500的自定义错误页面(使用web.config中的httpError) 不幸的是,status 500的自定义错误页也将使用自定义错误页隐藏soap错误 有没有办法在IIS 7.5中只为网站的一部分启用自定义错误页?(我不能将web服务放在一个单独的站点中,这取决于网页中的运行时对象。)如果您的所有web服务文件都存储在一个与站点其余部分分开的目录中,您可以将一个新的web.conf

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

不幸的是,status 500的自定义错误页也将使用自定义错误页隐藏soap错误


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

如果您的所有web服务文件都存储在一个与站点其余部分分开的目录中,您可以将一个新的
web.config
文件放在该目录中,并在那里设置一个
节点。这将覆盖根web.config中的设置

如果您的普通URI和web服务URI之间没有明确的分隔,您可以使用根web.config中的位置节点,例如:

<?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>


您可以根据需要拥有任意数量的这些位置节点。

可以使用位置标记在文件级别设置IIS设置。谢谢。这个答案解决了我的问题。我选择UsetheLocation元素(因为我只想维护一个web.config),它按照描述工作,只覆盖该位置的错误处理。