确定HttpModule主/调用请求
有没有办法在httpmodule中知道主/调用请求? 我只想要我的模块代码运行主aspx页面,而不是图像和脚本。 我可以检查“.aspx”的路径,但似乎应该有更好的方法。
从你的模块你可以调用HttpContext.Current.Handler并查看它是否是一个Page。 您可能必须在PostMapRequestHandler事件或生命周期中的较晚事件中执行此操作。
或者,也许你可以检查哪个HttpHandlerFactory被用于请求。 如果它是PageHandlerFactory,那么你可以运行你的逻辑,否则你可以跳过它。
IIS不会在图像和脚本*上调用ASP.NET处理程序,因此HTTPModule应该只能在ASPX请求上运行。