public class Global : System.Web.HttpApplication
    {
        public override void Init()
        {
            this.OnExecuteRequestStep((ctx, step) =>
            {
                RestoreAmbientContext();
                DoSomeLog(new { Notification = ctx.CurrentNotification });

                step();

                SaveAmbientContext();
            });

            base.Init();
        }
   }