DotVVM DOCS

Version: |

Adding DotVVM in Existing Web App (ASP.NET Core)

If you use the new ASP.NET Core stack, you need the ASP.NET Core version of DotVVM.

To add DotVVM in an existing ASP.NET Core project, simply install DotVVM.AspNetCore Nuget package using Package Manager Console:

Install-Package DotVVM.AspNetCore

This command will also reference the dependent packages DotVVM.Framework and DotVVM.Core.

Initialization

To register DotVVM in the request pipeline, you have to do two things in the Startup class:

  • Add DotVVM services in the IServiceCollection object.

  • Add the DotVVM middlewares in the ASP.NET Core request pipeline.

First, add the following code snippet in the ConfigureServices method:

services.AddDotVVM<DotvvmStartup>();

Second, add the following code snippet in the Configure method. If you are using some authentication middlewares, remember that these should be registered first.

var config = app.UseDotVVM<DotvvmStartup>(env.ContentRootPath);

The config.Debug property is set automatically based on IHostingEnvironment.IsDevelopment().

Adding the DotvvmStartup class

Notice that the code references the DotvvmStartup class. It is a class you have to add in your project too. This class contains the configuration of DotVVM itself, e.g. the registration of routes in your app.

using DotVVM.Framework;
using DotVVM.Framework.Configuration;
using DotVVM.Framework.ResourceManagement;
using DotVVM.Framework.Routing;

namespace DotvvmDemo
{
    public class DotvvmStartup : IDotvvmStartup, IDotvvmServiceConfigurator
    {
        public void ConfigureServices(IDotvvmServiceCollection services)
        {
            services.AddDefaultTempStorages("Temp");
        }

        public void Configure(DotvvmConfiguration config, string applicationPath)
        {
            // register your routes, controls and resources here
        }        
    }
}
Next Chapter

Suggestions


Help & Contribute

The documentation is maintained on GitHub.
We'll be happy if you edit the page and create a pull request.

Send message