代码之家  ›  专栏  ›  技术社区  ›  TheHolyTerrah

Global.asax中的自动事件连接

  •  5
  • TheHolyTerrah  · 技术社区  · 17 年前

    我想知道是否有一种方法可以自动在Global.asax的事件处理程序中存根?到目前为止,我还没有找到任何这样做的例子。似乎我必须找到可供我使用的代理名称列表,然后手动键入它们。

    Intellisense似乎也没有提供任何关于这个主题的有用信息。

    4 回复  |  直到 17 年前
        1
  •  10
  •   JoshL    13 年前

    ASP.Net运行时使用反射动态查找名称为“Application_Start”、“Session_Start”等的方法,然后将它们绑定到HttpApplication类上的相应事件。您只需在Global.asax.cs中包含一个名称为“Application_”后跟事件名称的方法,就可以有效地绑定到任何HttpApplication事件。例如,要利用EndRequest事件,请将其添加到Global.asax.cs文件中:

        protected void Application_EndRequest(object sender, EventArgs e)
        {
            // Your code here
        }
    

    Blog Entry Rick Strahl提供了一系列关于如何做到这一点的有用信息。

        2
  •  2
  •   Robert C. Barth    17 年前

    世界上所有的事件 HttpApplication 类可以在global.asax中有一个处理程序。

        3
  •  0
  •   Mohamed Elsayed Ali    9 年前

    HttpApplication.Init方法是在创建所有模块对象并调用它们的每个Init方法之后调用的,这为设置事件处理程序、初始化HttpModule的实例变量以及将事件处理程序连接到宿主HttpApplication提供了绝佳的机会。

    asax类中的方法名是用于在Web.config文件中注册模块的name属性值、下划线和 事件的名称。

        4
  •  0
  •   Community Mohan Dere    8 年前

    我不太明白你所说的“自动存根”事件处理程序是什么意思?比如键入“override”并让Intellisense告诉您哪些事件处理程序可用?恐怕那不在那里。。。

    下面是一个链接,显示可用的内容:

    但是,似乎在任何地方都找不到任何明确、完整的列表:-(

    马克