我有一个网站,公开常规网页以及WCF网络服务。 理想情况下,网页应显示状态500的自定义错误页面(在web.config中使用httpError),而Web服务会抛出soap错误。
不幸的是,状态500的自定义错误页面也会使用自定义错误页面隐藏soap错误。
有没有办法在IIS 7.5中仅为网站的某些部分启用自定义错误页面? (我不能将Web服务放在一个单独的站点中,它取决于网页中的运行时对象。)
答案 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>
您可以根据需要拥有尽可能多的这些位置节点。