asp.net 4.0中的页面路由(无扩展名url)与PageHandlerFactory(* .aspx)

请解释一下,这两种技术有何不同。 根据我在下面和本文中描述的经验,我假设在应用路由时,不会调用PageHandlerFactory。

我有自己的派生自PageHandlerFactory的类,只要用户访问页面就应该调用它。

当我不通过路由访问页面时,web.config中的这行代码一切都很好

    

但是当我通过路线访问页面时,例如

 RouteTable.Routes.MapPageRoute("Login", "login", "~/Pages/Login.aspx"); 

处理程序未应用。 我甚至通过在我的处理程序的构造函数中放置一个断点来测试它,当我通过路径访问页面时它没有被调用。 由于我在我的项目中使用IoC / DI,我想继续使用它将DI注入我的aspx页面,即使我正在使用路由。

我将如何在web.config中管理它? 或者至少在代码中。


编辑:我发现每次加载页面都会引发事件,无论如何。 在Global.asax中它是

 Application_PostRequestHandlerExecute 

现在,我可以很容易地分辨出如何通过解析URL来调用它。 有没有办法,如何在某些页面上应用我的PageHandlerFactory?