我需要一个简单的HttpHandler来处理我的ASP.NET项目中特定的不存在的路径。我正在使用sitefinity 4.我编写了处理程序,但每当我尝试运行该网站时,我都会遇到令人沮丧的错误
The WebResource.axd handler must be registered in the configuration to process this request.
我把处理程序放在system.web配置的一部分,但它看起来很可靠VS2010仍然使用IIS 6为它内置的Web服务器所以我继续将其切换为使用IIS 7(本地)并移动注册system.webServer的处理程序,当我点击一个不存在的url但是如果我尝试正常访问该网站(有效的网址)时,它会再次出现该错误。
它工作过一次,在一个有效的网址上给我正确的网站,但现在它继续给我带来麻烦。
如何解决此问题?我不想将该条目添加到配置中,因为当我创建项目时它不在那里,它只在我添加我的处理程序时才开始。
编辑:只有当我使用Path =“*”时才会发生,所以我该如何做通配符?我不想映射处理程序来捕获404页面。
答案 0 :(得分:1)
万一。似乎没有人知道即使我知道我不是唯一需要这样做的人。我有404工作,但只有当我请求一个文件,而不是一个文件夹,所以这是一个半身像。
我发现Global.asax会在集成模式下运行,所以我只是将我的代码移到了Application_BeginRequest(),它运行得很好。如果其他人有更好的答案,我会给予他们信任。
答案 1 :(得分:-2)
对于iis7和iis7.5,处理程序在system.webserver中注册。 system.web中的httphandlers和httpmodules将被忽略,并用于IIS 6和经典模式。
我希望这很有用!