Skip to main content

How to configure the In-process MVC mode

⚠️This document describes a feature available since v4.0.1+⚠️

This capability enhances the support for SXA solutions and the solutions with customized rendering pipeline.

This is an experimental feature and must be used only in special circumstances after consulting with our support team.

Introduction#

Some more complex Sitecore solutions that customize the rendering pipeline or leverage techniques where some custom state is shared between different Sitecore renderings, may represent a challenge for standard Uniform Page Service execution, where each rendering placed on a page layout is executed in a separate HTTP context. This may lead to alternative rendering result in some existing Sitecore implementations.

One approach to resolve these conflicts is to change the presentation layer code within your solution. The alternative approach is to enable the "In-process MVC mode", which is built to eliminate the chances of alternate rendering output.

How is the in-process mode different#

  • this process no longer depends on item's layout field directly (including the final layout field).
  • this process no longer renders every rendering in a separate HTTP request

How to configure it#

  1. Duplicate the App_Config\Include\zzz_Uniform\Uniform.MvcSupport.Experimental.config.disabled file

    This config file patches the default implementation of the HtmlService and brings two new <mvc.renderRendering> pipeline processors that render special markers to indicate rendering's output HTML boundaries as well as setting the Uniform.MvcSupport.SkipBrokenRenderings setting to true.

  2. Remove .disabled suffix to activate the file (this will restart your Sitecore instance).

  3. If Content Sync is enabled, re-run it.

  4. Re-run the Static Site Generation to make sure the site exports successfully.