the role of endrequest event processing is to process the tasks (task) in the processing engine (processingengine). void iorchardhost . EndRequest () { logger.debug ( "EndRequest"); EndRequest (); } protected virtual void EndRequest () { //synchronously process all pending tasks. It's safe to does this at this point //Of the pipeline, as the request transaction have been closed, so creating a new //environment and transaction for these tasks would behave as expected.) While (_processingengine.aretaskspending ()) { _processingengine.executenexttask (); } }The processing engine is a task container that synchronizes tasks that are added to the container in endrequest. About the "operating engine" we analyze at the right time.Related types:Orchard.Environment.State.DefaultProcessingEngine:IProcessingEngineOrchard.Environment.State.ShellStateCoordinator:IShellStateManagerEventHandler, IshelldescriptormanagereventhandlerOrchard.Warmup.Services.WarmupScheduler:IWarmupScheduler, IwarmupeventhandlerOrchard.Recipes.Services.RecipeScheduler:IRecipeScheduler, IrecipeschedulereventhandlerOrchard.Indexing.Services.UpdateIndexScheduler:IUpdateIndexScheduler, Iindexnotifierhandler
Orchard Source Analysis (5.3): endrequest Event Handling (Defaultorchardhost.endrequest method)