1

我需要一个简单的 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 时它可以工作,但是如果我尝试正常访问该站点(有效的 url),我会再次收到该错误。

它曾经工作过,在有效网址上为我提供了正确的网站,但现在它继续给我带来麻烦。

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

编辑:仅当我使用 Path="*" 时才会发生,那么我该如何做通配符?我不想映射处理程序来捕获 404 页面。

4

2 回答 2

1

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

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

于 2011-02-15T18:58:09.393 回答
-2

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

我希望这可以帮到你!

于 2011-02-15T00:45:16.147 回答