仅关闭Web服务的customErrors

时间:2009-06-09 09:38:13

标签: asp.net web-services exception-handling

我的ASP.NET 2.0 Web应用程序包含一个Web服务,它会抛出各种异常以及自定义错误消息(例如“您无权访问此项目”等)。它们显示在屏幕上的ASP.NET AJAX回调处理程序中。

应用程序的其余部分由一些自定义错误页面覆盖,在web.config中以通常的方式指定。

<customErrors mode="RemoteOnly" defaultRedirect="Error.html">
      <error statusCode="404" redirect="NotFound.html" />
      <error statusCode="403" redirect="NoAccess.html" />
</customErrors>

我的问题是如果我在web.config中启用了customErrors,我丢失了从Web服务返回的错误消息 - 而是将它们替换为

“处理请求时出错” - 这对我或用户来说都不是很有用。

有没有办法只为网络服务关闭自定义错误?

2 个答案:

答案 0 :(得分:4)

将您的Web服务放入单独的目录中,并将其他web.config文件放在此目录中。每个目录都可以拥有自己的web.config,其中包含此目录的设置(以及此目录中的目录)。

答案 1 :(得分:3)

是的,custom errors element

  

可以在应用程序文件层次结构中的任何级别定义。

因此,如果您的WebService位于一个文件夹中,您可以为该文件夹添加web.config并将其关闭。