ASP.NET Global.asax Application_PreRequestHandlerExecute
本文关键字:PreRequestHandlerExecute Application asax NET Global ASP | 更新日期: 2023-09-27 18:24:42
我的问题是,有没有另一种方法,比如在类级别位置,我可以执行全局中的所有应用程序方法.cs例如"Application_PreRequestHandlerExecute"oal 是那个或"Application_Start"?主要目标是我想将所有这些应用程序方法隐藏在应用程序的编译 dll 中,并将它们从全局.cs中删除。
谢谢
不能控制单个 aspx/单个类级别的应用程序执行流。因为对于所有类,只有一个应用程序,并且通过请求管道(预请求处理程序,请求等(。这就是为什么我们有HTTPModule来拦截这些管道事件。
但无论如何,我认为您可以在这些事件中应用过滤器,如果请求是针对 abc.aspx的,则仅对该类执行 XYZ。
以下链接可能会更有帮助 - http://blogs.msdn.com/b/tmarq/archive/2007/08/30/iis-7-0-asp-net-pipelines-modules-handlers-and-preconditions.aspx
可以将 Global.ascx 中的方法转换为调用 dll 中公开的 API 的"单行"。例如,Application_Start()
可以呼叫myClass.ApplicationStart()
,Application_PreRequestHandlerExecute
可以呼叫myClass.PreRequestHandlerExecute
。只需在应用程序命名空间中定义public static myClass
,然后确定 API。然后在Global.cs
中导入myClass
命名空间。