This article has not yet been verified against Umbraco 8.

    The concepts and code examples might not work if you are running Umbraco 8.0 or a later version. If you are using Umbraco 7, this article is perfect for you!

    You are more than welcome to report any issues found on the Documentation Issue Tracker.

    Understanding Umbraco the BootManager

    After IIS started the W3 process, Umbraco will begin launching. There is a bootstrapper for the Umbraco Application which initializes all objects.

    The responsible objects for the startup are the CoreBootManager and WebBootManager where the latter includes the Web portion of the application.

    The boot managers initialize the UmbracoApplication (the global.asax) object. After it has initialized the UmbracoApplication, it will initialize the ApplicationContext.

    The bootmanager will initialize the ApplicationContext with: the database context, services context, profiling and logger. It will also register the Application Startup handlers which will execute later using the ApplicationEventsResolver.

    For those wondering: Examine doesn't do anything on startup - 'if the indexes are built'

    IBootManager (EXPERT)

    In some cases you may be using a custom IBootManager which has the following methods: Initialize, Startup, Complete. This sequence of events and the logic that should be performed in these methods is exactly the same as the methods mentioned above in this order:

    • Initialize --> ApplicationInitialized
    • Startup --> ApplicationStarting
    • Complete --> ApplicationStarted