我看到了类似的问题,但看起来是由于一个不相关的问题。
在3.5中,我有一个自定义的错误处理程序,可以记录错误并重定向用户。我的web.config是这样设置的:
<httpHandlers>
<add path="error.ashx" type="MySite.Tools.WebErrorLogger, MySite.Tools" verb="*"/>
</httpHandlers>
<customErrors mode="On" defaultRedirect="error.ashx"
redirectMode="ResponseRewrite">
</customErrors>当redirectMode设置为"ResponseRedirect"时,一切正常(但Server.GetLastError()为空,但这似乎是有意的)
但是,在使用ResponseRewrite时,我的处理程序没有被调用,并且我看到了ASP.Net默认错误页面。你知道我该怎么做吗?
(不幸的是,由于其他限制,我既不能使用aspx页面,也不能在global.asax中进行错误处理)
发布于 2010-05-03 19:43:40
发布于 2013-05-14 07:40:46
我遇到了同样的问题,我发现明显的原因是.ashx文件,如果你使用一个普通的.aspx,它将会工作,它对我是有效的;我仍然在试图理解如何使用REsponseRewrite来“启用”.ashx文件扩展名,因为在我的例子中,它比使用aspx页面更符合逻辑。我在这里有一个关于这个话题的开放的帖子:
http://social.msdn.microsoft.com/Forums/it-IT/aspnetit/thread/7b8f5e36-44a8-40ea-bd73-2e99a1fd42dd
发布于 2015-06-17 07:12:53
在当前的.NET (从4.5版本开始)中,无法使用ashx处理程序做到这一点。
ResponseRewrite使用HttpServerUtility.Execute,它被硬编码为只允许aspx页面或静态文件(或传统的ASP页面)。
https://stackoverflow.com/questions/2691758
复制相似问题