Global.asax中的自动事件接线

时间:2009-03-17 20:17:17

标签: c# asp.net web-applications event-handling global-asax

我想知道是否有办法在Global.asax的事件处理程序中自动存根?到目前为止,我还没有找到任何如何做到这一点的例子。似乎我必须找到可用的代表名称列表并手动输入。

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

4 个答案:

答案 0 :(得分:7)

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

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

请参阅Rick Strahl的Blog Entry获取有关如何完成此操作的大量有用信息。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

我不太明白“自动存根”事件处理程序是什么意思?就像键入“覆盖”并让Intellisense告诉哪些事件处理程序可用?害怕那不存在......

这是一个链接,显示了什么是可用的:

似乎无法在任何地方找到任何明确的完整列表: - (

马克

答案 3 :(得分:0)

在创建了所有模块对象并调用了每个Init方法之后调用HttpApplication.Init方法,这提供了设置事件处理程序,初始化HttpModule实例变量和连接的绝佳机会。事件处理程序到托管HttpApplication。

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

相关问题