Loading...
Area: Episerver Commerce
Applies to versions: 10 and higher
Other versions:

Initialization

Recommendations [hide]

This topic describes the initialization system used by Episerver CMS and Episerver Commerce, and third-party and customized modules used with Episerver products. You can develop your own initialization module, see Initialization.

How it works

The initialization system consists of the following:

  • A discovery mechanism to determine which modules should be part of the initialization process.
  • A dependency sorting algorithm that decides the order of execution.
  • An execution engine that executes the modules.
  • Handling of re-execution of initialization modules (by hooking into ASP.NET) in the occurrence of exceptions during startup.
  • The EPiServer.Framework.Initialization namespace, which resides in the assembly EPiServer.Framework.

Sample initialization module

The following sample initialization module takes a dependency to the EPiServer.Commerce.Initialization.InitializationModule and registers catalog content routes.

using System.Web.Routing;
using EPiServer.Framework;
using EPiServer.Commerce.Routing;
using EPiServer.Framework.Initialization;

namespace CodeSamples.EPiServer.Commerce.Catalog
  {
    [ModuleDependency(typeof(global::EPiServer.Commerce.Initialization.InitializationModule))]
    public class RegisterRoutingModuleSample : IInitializableModule
      {
        public void Initialize(InitializationEngine context)
          {
            MapRoutes(RouteTable.Routes);
          }
        private static void MapRoutes(RouteCollection routes)
          {
            CatalogRouteHelper.MapDefaultHierarchialRouter(routes, true);
          }
        public void Uninitialize(InitializationEngine context) { /*uninitialize*/}
        public void Preload(string[] parameters) { }
      }
  }
Do you find this information helpful? Please log in to provide feedback.

Last updated: Oct 24, 2016

Recommendations [hide]