2011-02-15 42 views
1

我需要一个简单的HttpHandler来处理ASP.NET项目中特定的不存在的路径。我使用sitefinity 4.我写的处理程序,但每当我试图运行的网站,我得到一个令人沮丧的错误ASP.NET HttpHandler和WebResource.axd问题

The WebResource.axd handler must be registered in the configuration to process this request. 

我把处理程序配置文件的system.web部分,但它看起来像VS2010仍然使用IIS 6为它的内置Web服务器,所以我继续前进,并将其切换到使用IIS 7(本地),并将处理程序的注册移动到system.webServer和它当我击中一个不存在的作品t网址,但如果我试图正常访问网站(有效的网址),我再次得到dang错误。

它工作过一次,给了我一个有效的网址上正确的网站,但现在它只是继续给我麻烦。

我该如何解决这个问题?我不想将该条目添加到配置中,因为它在创建项目时并不存在,并且仅在添加我的处理程序时才启动。

编辑:只有当我使用Path =“*”时发生,所以我如何做通配符?我不想映射处理程序来捕捉404页面。

+0

您是否尝试将WebResource.axd注册为错误“建议”?如果是这样,结果如何? – 2011-02-15 05:35:03

+0

我没有把它放在system.webServer中,但我确实把它放在了system.web中,它现在在那里......不工作。但这是在IIS 7(本地),所以这可能是为什么它仍然抱怨。 – 2011-02-15 05:38:53

回答

1

Froget it。即使我知道我不是唯一需要这样做的人,但似乎没有人知道。我得到404工作,但只有当我要求一个文件,而不是一个文件夹,以至于一个半身像。

我发现Global.asax会在集成模式下命中,所以我只是将我的代码移动到Application_BeginRequest(),它工作得很好。如果其他人有更好的答案,我会给他们信用。

-2

对于iis7和iis7.5,处理程序在system.webserver中注册。 system.web中的httphandlers和httpmodules将被忽略,并用于IIS 6和经典模式。

我希望这有帮助!