Пример #1
0
        /// <summary>
        /// Initializes a module and prepares it to handle requests.
        /// </summary>
        /// <param name="application">
        /// An <see cref="T:System.Web.HttpApplication"/> that provides
        /// access to the methods, properties, and events common to all
        /// application objects within an ASP.NET application
        /// </param>
        public void Init(HttpApplication application)
        {
            if (preserveExifMetaData == null)
            {
                preserveExifMetaData = ImageProcessorConfiguration.Instance.PreserveExifMetaData;
            }

            if (fixGamma == null)
            {
                fixGamma = ImageProcessorConfiguration.Instance.FixGamma;
            }

            if (interceptAllRequests == null)
            {
                interceptAllRequests = ImageProcessorConfiguration.Instance.InterceptAllRequests;
            }

            EventHandlerTaskAsyncHelper postAuthorizeHelper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest);

            application.AddOnPostAuthorizeRequestAsync(postAuthorizeHelper.BeginEventHandler, postAuthorizeHelper.EndEventHandler);

            application.PostReleaseRequestState += this.PostReleaseRequestState;

            EventHandlerTaskAsyncHelper onEndRquestsHelper = new EventHandlerTaskAsyncHelper(this.OnEndRequest);

            application.AddOnEndRequestAsync(onEndRquestsHelper.BeginEventHandler, onEndRquestsHelper.EndEventHandler);
        }
        private void InitModuleFromConfig(HttpApplication app, SessionStateSection config)
        {
            if (config.Mode == SessionStateMode.Off)
            {
                return;
            }

            app.AddOnAcquireRequestStateAsync(BeginAcquireState, EndAcquireState);
            app.AddOnReleaseRequestStateAsync(BeginOnReleaseState, EndOnReleaseState);
            app.AddOnEndRequestAsync(BeginOnEndRequest, EndOnEndRequest);

            if (config.Mode == SessionStateMode.Custom)
            {
                _store = InitCustomStore(config);
            }
            else if (config.Mode == SessionStateMode.InProc)
            {
                _store = new InProcSessionStateStoreAsync();
                _store.Initialize(null, null);
            }
            else
            {
                throw new ConfigurationErrorsException(SR.Not_Support_SessionState_Mode);
            }

            _idManager = InitSessionIDManager(config);
        }
Пример #3
0
    // In the Init function, register for HttpApplication
    // events by adding your handlers.
    public void Init(HttpApplication application)
    {
        //Debug.WriteLine("AsyncGAModule Init ");
        //application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
        application.AddOnEndRequestAsync(new BeginEventHandler(Application_EndRequest), new EndEventHandler(OnEndAsync));

        HttpApplicationState theApp = application.Application;

        if (theApp.Get("gaLogFile") != null)
        {
            this.file = (TextWriter)theApp.Get("gaLogFile");
        }

        if (theApp.Get("gaLogFileDate") != null)
        {
            this.date = (DateTime)theApp.Get("gaLogFileDate");
        }

        if (this.file == null)
        {
            date      = System.DateTime.Now;
            this.file = TextWriter.Synchronized(new System.IO.StreamWriter(LOG_FILE_DIR + "gaLogFile" + date.Year + date.Month + date.Day + ".log", true));
            theApp.Add("gaLogFile", this.file);
            theApp.Add("gaLogFileDate", this.date);
        }
    }
        /// <summary>
        /// Initializes the instance.
        /// </summary>
        /// <param name="context"></param>
        public void Init(HttpApplication context)
        {
            lock (rootSyncRoot)
            {
                // only enable if Autofac.Web is configured
                if (context is IContainerProviderAccessor accessor)
                {
                    // connect the app domain proxy to the root container
                    var container = GetAutofacApplicationContext(context);
                    var rootProxy = new ComponentContextProxy(() => container);

                    // store reference to this application in the default app domain
                    var appDomainKey = $"{ComponentContextUtil.AppDomainItemPrefix}{HostingEnvironment.ApplicationID}";
                    new mscoree.CorRuntimeHost().GetDefaultDomain(out var adv);
                    if (adv is AppDomain ad && ad.IsDefaultAppDomain() && ad.GetData(appDomainKey) == null)
                    {
                        ad.SetData(appDomainKey, Marshal.GetIUnknownForObject(rootProxy));
                    }
                }
            }

            // register request events for context
            context.AddOnBeginRequestAsync(BeginOnBeginRequestAsync, EndOnBeginRequestAsync);
            context.AddOnEndRequestAsync(BeginOnEndRequestAsync, EndOnEndRequestAsync);
        }
Пример #5
0
    public void Init(HttpApplication app)
    {
        var asyncHelper = new EventHandlerTaskAsyncHelper(OnEndRequestAsync);

        app.AddOnEndRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);
        app.PreSendRequestHeaders += context_PreSendRequestHeaders;
    }
        public void Initialize(HttpApplication application)
        {
            for (IntegratedPipelineBlueprintStage stage = _blueprint.FirstStage; stage != null; stage = stage.NextStage)
            {
                var segment = new IntegratedPipelineContextStage(this, stage);
                switch (stage.Name)
                {
                case Constants.StageAuthenticate:
                    application.AddOnAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePostAuthenticate:
                    application.AddOnPostAuthenticateRequestAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StageAuthorize:
                    application.AddOnAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePostAuthorize:
                    application.AddOnPostAuthorizeRequestAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StageResolveCache:
                    application.AddOnResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePostResolveCache:
                    application.AddOnPostResolveRequestCacheAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StageMapHandler:
                    application.AddOnMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePostMapHandler:
                    application.AddOnPostMapRequestHandlerAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StageAcquireState:
                    application.AddOnAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePostAcquireState:
                    application.AddOnPostAcquireRequestStateAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                case Constants.StagePreHandlerExecute:
                    application.AddOnPreRequestHandlerExecuteAsync(segment.BeginEvent, segment.EndEvent);
                    break;

                default:
                    throw new NotSupportedException(
                              string.Format(CultureInfo.InvariantCulture, Resources.Exception_UnsupportedPipelineStage, stage.Name));
                }
            }
            // application.PreSendRequestHeaders += PreSendRequestHeaders; // Null refs for async un-buffered requests with bodies.
            application.AddOnEndRequestAsync(BeginFinalWork, EndFinalWork);
        }
Пример #7
0
 /// <summary>
 /// Initializes the instance.
 /// </summary>
 /// <param name="context"></param>
 public void Init(HttpApplication context)
 {
     if (config.Enabled)
     {
         context.AddOnBeginRequestAsync(BeginOnBeginRequestAsync, EndOnBeginRequestAsync);
         context.AddOnEndRequestAsync(OnBeginEndRequestAsync, OnEndEndRequestAsync);
     }
 }
Пример #8
0
        public void Init(HttpApplication context)
        {
            var asyncHelper = new EventHandlerTaskAsyncHelper(WriteStatusResponseAsync);

            context.BeginRequest += OnBeginRequest;

            context.AddOnEndRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);
        }
Пример #9
0
        //public void Init(HttpApplication context)
        //{
        //    // 下面是如何处理 LogRequest 事件并为其
        //    // 提供自定义日志记录实现的示例
        //    context.LogRequest += new EventHandler(OnLogRequest);
        //    //Asp.net处理的第一个事件,表示处理的开始
        //    context.BeginRequest += context_BeginRequest;
        //    //已经获取请求用户的信息
        //    context.PostAuthenticateRequest += context_PostAuthenticateRequest;
        //    //用户请求已经得到授权
        //    context.PostAuthorizeRequest += context_PostAuthorizeRequest;
        //    //获取以前处理缓存的处理结果,如果以前缓存过,那么,不必再进行请求的处理工作,直接返回缓存结果
        //    context.ResolveRequestCache += context_ResolveRequestCache;
        //    //已经完成缓存的获取操作
        //    context.PostResolveRequestCache += context_PostResolveRequestCache;
        //    //已经根据用户的请求,创建了处理请求的处理器对象
        //    context.PostMapRequestHandler += context_PostMapRequestHandler;
        //    //已经取得了Session
        //    context.PostAcquireRequestState += context_PostAcquireRequestState;
        //    //准备执行处理程序
        //    context.PreRequestHandlerExecute += context_PreRequestHandlerExecute;
        //    //已经执行了处理程序
        //    context.PostRequestHandlerExecute += context_PostRequestHandlerExecute;
        //    //释放请求的状态
        //    context.ReleaseRequestState += context_ReleaseRequestState;
        //    //更新缓存
        //    context.UpdateRequestCache += context_UpdateRequestCache;
        //    //已经更新了缓存
        //    context.PostUpdateRequestCache += context_PostUpdateRequestCache;
        //    //已经完成了请求的日志操作
        //    context.PostLogRequest += context_PostLogRequest;
        //    //本次请求处理完成
        //    context.EndRequest += context_EndRequest;
        //    context.PreSendRequestContent += context_PreSendRequestContent;
        //    context.PreSendRequestHeaders += context_PreSendRequestHeaders;

        //    context.RequestCompleted += context_RequestCompleted;
        //}

        //void context_UpdateRequestCache(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的UpdateRequestCache<br/>");
        //    }
        //}

        //void context_ResolveRequestCache(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的ResolveRequestCache<br/>");
        //    }
        //}

        //void context_RequestCompleted(object sender, EventArgs e)
        //{
        //    //HttpApplication app = sender as HttpApplication;
        //    //if (app != null)
        //    //{
        //    //    HttpContext context = app.Context;
        //    //    HttpResponse response = app.Response;
        //    //    response.Write("自定义HttpModule中的RequestCompleted<br/>");
        //    //}
        //}

        //void context_PreSendRequestHeaders(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PreSendRequestHeaders<br/>");
        //    }
        //}

        //void context_PreSendRequestContent(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PreSendRequestContent<br/>");
        //    }
        //}

        //void context_PreRequestHandlerExecute(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PreRequestHandlerExecute<br/>");
        //    }
        //}

        //void context_PostUpdateRequestCache(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostUpdateRequestCache<br/>");
        //    }
        //}

        //void context_PostResolveRequestCache(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostResolveRequestCache<br/>");
        //    }
        //}

        //void context_PostRequestHandlerExecute(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostRequestHandlerExecut<br/>");
        //    }
        //}

        //void context_PostMapRequestHandler(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostMapRequestHandler<br/>");
        //    }
        //}

        //void context_PostLogRequest(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostLogRequest<br/>");
        //    }
        //}

        //void context_PostAuthorizeRequest(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostAuthorizeRequest<br/>");
        //    }
        //}

        //void context_PostAuthenticateRequest(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostAuthenticateRequest<br/>");
        //    }
        //}

        //void context_PostAcquireRequestState(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的PostAcquireRequestState<br/>");
        //    }
        //}

        //void context_ReleaseRequestState(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的ReleaseRequestState<br/>");
        //    }
        //}

        //void context_EndRequest(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的EndRequest<br/>");
        //    }
        //}

        //void context_BeginRequest(object sender, EventArgs e)
        //{
        //    HttpApplication app = sender as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("Out!!!!!!!!!<br/>");
        //    }
        //}

        //public void OnLogRequest(Object source, EventArgs e)
        //{
        //    HttpApplication app = source as HttpApplication;
        //    if (app != null)
        //    {
        //        HttpContext context = app.Context;
        //        HttpResponse response = app.Response;
        //        response.Write("自定义HttpModule中的LogRequest<br/>");
        //        return;
        //    }
        //}
        #endregion

        public void Init(HttpApplication context)
        {
            var asyncHelper = new EventHandlerTaskAsyncHelper(context_OnBeginRequestAsync);

            context.AddOnBeginRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);

            asyncHelper = new EventHandlerTaskAsyncHelper(context_OnAuthenticateRequestAsync);
            context.AddOnAuthenticateRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);

            //asyncHelper = new EventHandlerTaskAsyncHelper(context_OnPostAuthorizationRequestAsync);
            //context.AddOnPostAuthorizeRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);

            asyncHelper = new EventHandlerTaskAsyncHelper(context_OnEndRequestAsync);
            context.AddOnEndRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);
        }
Пример #10
0
        /// <summary>
        /// Initializes a module and prepares it to handle requests.
        /// </summary>
        /// <param name="context">
        /// An <see cref="T:System.Web.HttpApplication"/> that provides
        /// access to the methods, properties, and events common to all
        /// application objects within an ASP.NET application
        /// </param>
        public void Init(HttpApplication context)
        {
            if (preserveExifMetaData == null)
            {
                preserveExifMetaData = ImageProcessorConfiguration.Instance.PreserveExifMetaData;
            }

            EventHandlerTaskAsyncHelper postAuthorizeHelper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest);

            context.AddOnPostAuthorizeRequestAsync(postAuthorizeHelper.BeginEventHandler, postAuthorizeHelper.EndEventHandler);

            EventHandlerTaskAsyncHelper postProcessHelper = new EventHandlerTaskAsyncHelper(this.PostProcessImage);

            context.AddOnEndRequestAsync(postProcessHelper.BeginEventHandler, postProcessHelper.EndEventHandler);

            context.PreSendRequestHeaders += this.ContextPreSendRequestHeaders;
        }
Пример #11
0
        /// <summary>
        /// Initializes a module and prepares it to handle requests.
        /// </summary>
        /// <param name="application">
        /// An <see cref="T:System.Web.HttpApplication"/> that provides
        /// access to the methods, properties, and events common to all
        /// application objects within an ASP.NET application
        /// </param>
        public void Init(HttpApplication application)
        {
            if (preserveExifMetaData == null)
            {
                preserveExifMetaData = ImageProcessorConfiguration.Instance.PreserveExifMetaData;
            }

            EventHandlerTaskAsyncHelper postAuthorizeHelper = new EventHandlerTaskAsyncHelper(this.PostAuthorizeRequest);

            application.AddOnPostAuthorizeRequestAsync(postAuthorizeHelper.BeginEventHandler, postAuthorizeHelper.EndEventHandler);

            application.PostReleaseRequestState += this.PostReleaseRequestState;

            EventHandlerTaskAsyncHelper postProcessHelper = new EventHandlerTaskAsyncHelper(this.PostProcessImage);

            application.AddOnEndRequestAsync(postProcessHelper.BeginEventHandler, postProcessHelper.EndEventHandler);
        }
Пример #12
0
        public void Init(HttpApplication application)
        {
            var onEndRequestHelper = new EventHandlerTaskAsyncHelper(RedirectRequest);

            application.AddOnEndRequestAsync(onEndRequestHelper.BeginEventHandler, onEndRequestHelper.EndEventHandler);
        }
Пример #13
0
        public void Events_Deny_Unrestricted()
        {
            HttpApplication app = new HttpApplication();

            app.Disposed += new EventHandler(Handler);
            app.Error    += new EventHandler(Handler);
            app.PreSendRequestContent     += new EventHandler(Handler);
            app.PreSendRequestHeaders     += new EventHandler(Handler);
            app.AcquireRequestState       += new EventHandler(Handler);
            app.AuthenticateRequest       += new EventHandler(Handler);
            app.AuthorizeRequest          += new EventHandler(Handler);
            app.BeginRequest              += new EventHandler(Handler);
            app.EndRequest                += new EventHandler(Handler);
            app.PostRequestHandlerExecute += new EventHandler(Handler);
            app.PreRequestHandlerExecute  += new EventHandler(Handler);
            app.ReleaseRequestState       += new EventHandler(Handler);
            app.ResolveRequestCache       += new EventHandler(Handler);
            app.UpdateRequestCache        += new EventHandler(Handler);

            app.AddOnAcquireRequestStateAsync(null, null);
            app.AddOnAuthenticateRequestAsync(null, null);
            app.AddOnAuthorizeRequestAsync(null, null);
            app.AddOnBeginRequestAsync(null, null);
            app.AddOnEndRequestAsync(null, null);
            app.AddOnPostRequestHandlerExecuteAsync(null, null);
            app.AddOnPreRequestHandlerExecuteAsync(null, null);
            app.AddOnReleaseRequestStateAsync(null, null);
            app.AddOnResolveRequestCacheAsync(null, null);
            app.AddOnUpdateRequestCacheAsync(null, null);

            app.Disposed -= new EventHandler(Handler);
            app.Error    -= new EventHandler(Handler);
            app.PreSendRequestContent     -= new EventHandler(Handler);
            app.PreSendRequestHeaders     -= new EventHandler(Handler);
            app.AcquireRequestState       -= new EventHandler(Handler);
            app.AuthenticateRequest       -= new EventHandler(Handler);
            app.AuthorizeRequest          -= new EventHandler(Handler);
            app.BeginRequest              -= new EventHandler(Handler);
            app.EndRequest                -= new EventHandler(Handler);
            app.PostRequestHandlerExecute -= new EventHandler(Handler);
            app.PreRequestHandlerExecute  -= new EventHandler(Handler);
            app.ReleaseRequestState       -= new EventHandler(Handler);
            app.ResolveRequestCache       -= new EventHandler(Handler);
            app.UpdateRequestCache        -= new EventHandler(Handler);
#if NET_2_0
            app.PostAuthenticateRequest += new EventHandler(Handler);
            app.PostAuthorizeRequest    += new EventHandler(Handler);
            app.PostResolveRequestCache += new EventHandler(Handler);
            app.PostMapRequestHandler   += new EventHandler(Handler);
            app.PostAcquireRequestState += new EventHandler(Handler);
            app.PostReleaseRequestState += new EventHandler(Handler);
            app.PostUpdateRequestCache  += new EventHandler(Handler);

            app.AddOnPostAuthenticateRequestAsync(null, null);
            app.AddOnPostAuthenticateRequestAsync(null, null, null);
            app.AddOnPostAuthorizeRequestAsync(null, null);
            app.AddOnPostAuthorizeRequestAsync(null, null, null);
            app.AddOnPostResolveRequestCacheAsync(null, null);
            app.AddOnPostResolveRequestCacheAsync(null, null, null);
            app.AddOnPostMapRequestHandlerAsync(null, null);
            app.AddOnPostMapRequestHandlerAsync(null, null, null);
            app.AddOnPostAcquireRequestStateAsync(null, null);
            app.AddOnPostAcquireRequestStateAsync(null, null, null);
            app.AddOnPostReleaseRequestStateAsync(null, null);
            app.AddOnPostReleaseRequestStateAsync(null, null, null);
            app.AddOnPostUpdateRequestCacheAsync(null, null);
            app.AddOnPostUpdateRequestCacheAsync(null, null, null);

            app.AddOnAcquireRequestStateAsync(null, null, null);
            app.AddOnAuthenticateRequestAsync(null, null, null);
            app.AddOnAuthorizeRequestAsync(null, null, null);
            app.AddOnBeginRequestAsync(null, null, null);
            app.AddOnEndRequestAsync(null, null, null);
            app.AddOnPostRequestHandlerExecuteAsync(null, null, null);
            app.AddOnPreRequestHandlerExecuteAsync(null, null, null);
            app.AddOnReleaseRequestStateAsync(null, null, null);
            app.AddOnResolveRequestCacheAsync(null, null, null);
            app.AddOnUpdateRequestCacheAsync(null, null, null);

            app.PostAuthenticateRequest -= new EventHandler(Handler);
            app.PostAuthorizeRequest    -= new EventHandler(Handler);
            app.PostResolveRequestCache -= new EventHandler(Handler);
            app.PostMapRequestHandler   -= new EventHandler(Handler);
            app.PostAcquireRequestState -= new EventHandler(Handler);
            app.PostReleaseRequestState -= new EventHandler(Handler);
            app.PostUpdateRequestCache  -= new EventHandler(Handler);
#endif
        }
 public void Init(HttpApplication app)
 {
     var asyncHelper = new EventHandlerTaskAsyncHelper(OnEndRequestAsync);
     app.AddOnEndRequestAsync(asyncHelper.BeginEventHandler, asyncHelper.EndEventHandler);
     app.PreSendRequestHeaders += context_PreSendRequestHeaders;
 }
Пример #15
0
        public void RegisterEvent(HttpApplication application)
        {
            switch (ApplicationEvent)
            {
            case DynamicHttpHandlerEvent.AuthenticateRequestAsync:
                application.AddOnAuthenticateRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.AuthorizeRequestAsync:
                application.AddOnAuthorizeRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.BeginRequestAsync:
                application.AddOnBeginRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.EndRequestAsync:
                application.AddOnEndRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.LogRequestAsync:
                application.AddOnLogRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostAuthenticateRequestAsync:
                application.AddOnPostAuthenticateRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostAuthorizeRequestAsync:
                application.AddOnPostAuthorizeRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.PostLogRequestAsync:
                application.AddOnPostLogRequestAsync(asyncHandlerHelper.BeginEventHandler, asyncHandlerHelper.EndEventHandler);
                break;

            case DynamicHttpHandlerEvent.BeginRequest:
                application.BeginRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.AuthenticateRequest:
                application.AuthenticateRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostAuthenticateRequest:
                application.PostAuthenticateRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.AuthorizeRequest:
                application.AuthorizeRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostAuthorizeRequest:
                application.PostAuthorizeRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.PostLogRequest:
                application.PostLogRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.LogRequest:
                application.LogRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.EndRequest:
                application.EndRequest += HandleRequest;
                break;

            case DynamicHttpHandlerEvent.Error:
                application.Error += HandleRequest;
                break;

            default:
                throw new ApplicationException($"Async event type '{ApplicationEvent}' not configured for registrations");
            }
        }