Search code examples
c#asp.nethttpmodule

How to handle application start event in ASP.NET module


I am writing an asp.net HTTP module which needs to read configuration data once from a local file (say config.xml stored in application root directory) and then based on configuration perform some processing on incoming requests.

Since there is no Application_Start/Application_init hooking available in Asp.NET modules, what would be the best way to handle the scenario. I am trying to avoid reading configuration file each time a request comes. Ideally, I want to read the config file when application starts.

I need to code this in http module only and do not want to use Global.asax


Solution

  • static variable did the trick. here is the code if someone is interested -

    static string test; 
            public void Init(HttpApplication application)
            {
    
    
                application.BeginRequest +=(new EventHandler(this.Application_BeginRequest));
                test = "hi"; 
                application.EndRequest +=(new EventHandler(this.Application_EndRequest));
    
    
            }
           private void Application_BeginRequest(Object source,EventArgs e)
            {
                {
                    HttpApplication application = (HttpApplication)source ;
                    HttpContext context = application.Context;
                    context.Response.Write(test);
                }
    
    
            }