Precompile the view templates of a custom widget assembly

When you install a new dynamic module, Sitefinity CMS automatically generates view templates for each type in the dynamic module. These templates are persisted in the database and are compiled when they are rendered. Because of this, there is a delay of several seconds before a widget is rendered for the first time while the web application is running.

To avoid the initial rendering delay, you can precompile the templates so that they are ready for rendering when the widget is requested. 

To precompile the templates of dynamic modules, perform the following:

  1. Open your project in Visual Studio.
  2. In folder ~\Mvc\Views\[Dynamic Type Name]\ , create files List.<Dynamic type title>.cshtml and Detail.<Dynamic type title>.cshtml
    For example, if your dynamic type is Press release, the you must create the following files:
    • ~\Mvc\Views\PressRelease\List.Press release.cshtml
    • ~\Mvc\Views\PressRelease\Detail.Press release.cshtml
  3. In Sitefinity backend, click Design » Widget templates, find the corresponding templates, and copy their content in the corresponding files, created in Step 2.
  4. In the Solution Explorer, include and embed the new files in the web application project.
  5. Add the following attribute to the AssemblyInfo of the web application project:
    [assembly: Telerik.Sitefinity.Frontend.Mvc.Infrastructure.Controllers.Attributes.ResourcePackage]
  6. Build the project.

 RESULT: The dynamic content widget will use the precompiled version of the templates.

Tags

Was this article helpful?