Kentico Xperience 13 documentation and ASP.NET Core

Most documentation about running Xperience applications under ASP.NET Core can be found in a dedicated section: Developing Xperience applications using ASP.NET Core. The rest of the documentation still applies, but some code samples and scenarios might need slight modifications for Core projects.

Certain pages allow you to switch between Core and MVC 5 content using a selector located under the page heading.

All major differences between the MVC 5 and Core platforms are summarized in Migrating to ASP.NET Core.


Setting up web farms

Web farms distribute computing among multiple web servers that all provide the same content. Each server increases the number of requests that the web farm can serve, which allows you to scale the performance of the website. You can also use web farms to achieve high availability – if one of the servers in the web farm stops working, the other servers continue to run the site.

In addition to scaling for performance reasons, Xperience uses web farms by default for all sites. Web farm functionality ensures synchronization between the live site application (MVC or ASP.NET Core) and the Xperience administration application.

Native web farm support in Xperience provides the following features:

  • Synchronization of cached content and object data across all web farm servers.
  • Synchronization of changes made to the site settings on one of the servers to all other servers.
  • Synchronization of files uploaded to the site between all servers. This is used only if you store uploaded files on the disk or on both disk and in the database.

The following image illustrates the structure of a web farm environment and demonstrates how the synchronization works:

Web farm schema

If you change some settings or content, or upload a file using server, the other servers do not know about this change in a standard scenario. However, if you are using web farm synchronization, the system automatically logs the changes into the database as web farm tasks.

The system uses the CMS_WebFarmServerTask database table to find tasks created for the current server. On the application side, a routine runs in a separate long running thread which continuously polls the database to find the tasks.

Before you can start using web farm synchronization, you need to make sure that all servers that make up a web farm are configured in the system. See Configuring web farm servers.

Note: The web farm support does not replace load-balancing or web farm management tools.

Was this page helpful?