Skip to content

Prerender Middleware for ASP.NET Core

dingyuliang edited this page Feb 12, 2017 · 16 revisions

Requirements

  • .NETStandard 1.6

User Guide

  • Download from Nuget:
Install-Package DotNetCoreOpen.PrenderMiddleware  
  • Configuration File

    Add PrerenderConfiguration.json in your ASP.NET Core project by following below content format:

    {
    "PrerenderConfiguration": {
         "ServiceUrl": "http://localhost:3000",
	 "Token": null,
	 "CrawlerUserAgentPattern": null,
	 "WhiteListPattern": null,
	 "BlackListPattern": "lib|css|js",
	 "AdditionalExtensionPattern": null,
	 "ProxyUrl": null,
	 "ProxyPort": 80
    }
    }
  • Add code in startup.cs

    ** Step 1: Use AddPrerenderConfig() in ConfigurationBuilder

      var builder = new ConfigurationBuilder()
              .SetBasePath(env.ContentRootPath)
              .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
              .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
              // Prerender Step 1: Add Prerender configuration Json file.
              .AddPrerenderConfig() 
              .AddEnvironmentVariables();
    

    ** Step 2: Configure Configuration Option in ServiceCollections

      // Prerender Step 2: Add Options.
          services.AddOptions();
          services.ConfigureSection<PrerenderConfiguration>(Configuration);
    

    ** Step 3: Configure Prerender Middleware in IApplicationBuilder

          // Prerender Step 3: UsePrerender, before others.
          app.UsePrerender();	
    

Sample code

You can download the sample project from:

https://github.com/dingyuliang/prerender-dotnet/tree/master/src/DotNetCorePrender/DotNetCoreOpen.PrenderMiddleware.Mvc

Clone this wiki locally