private void OnBeginRequest_(object sender, EventArgs e) { var app = sender as HttpApplication; var context = app.Context; var environment = ChiffonEnvironmentResolver.Resolve(context.Request); new ChiffonContext(environment).Register(context); }
// NB: La session peut ne pas être disponible à ce moment. // http://stackoverflow.com/questions/276355/can-i-access-session-state-from-an-httpmodule private void OnPostAcquireRequestState_(object sender, EventArgs e) { var app = sender as HttpApplication; var context = app.Context; var request = context.Request; if (!(context.Handler is IRequiresSessionState)) { // NB: Normalement, on ne devrait pas avoir à faire cette vérification, // mais cela peut poser des problèmes si il s'agit d'une requête prise // en charge par IIS en cas d'erreur (cf. httpErrors et customErrors dans // web.config). return; } var environment = ChiffonEnvironmentResolver.Resolve(request, app.Session); new ChiffonContext(environment).Register(context); }