public override void Configure()

in src/OrchardCore.Modules/OrchardCore.Sitemaps/Startup.cs [88:221]


        public override void Configure(IApplicationBuilder app, IEndpointRouteBuilder routes, IServiceProvider serviceProvider)
        {
            var adminControllerName = typeof(AdminController).ControllerName();

            routes.MapAreaControllerRoute(
                name: "SitemapsList",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/List",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.List) }
            );

            routes.MapAreaControllerRoute(
                name: "SitemapsDisplay",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/Display/{id}",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Display) }
            );

            routes.MapAreaControllerRoute(
                name: "SitemapsCreate",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/Create",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Create) }
            );

            routes.MapAreaControllerRoute(
                name: "SitemapsEdit",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/Edit/{sitemapId}",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Edit) }
            );

            routes.MapAreaControllerRoute(
                name: "SitemapsDelete",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/Delete/{sitemapId}",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Delete) }
            );

            routes.MapAreaControllerRoute(
                name: "SitemapsToggle",
                areaName: "OrchardCore.Sitemaps",
                pattern: _adminOptions.AdminUrlPrefix + "/Sitemaps/Toggle/{sitemapId}",
                defaults: new { controller = adminControllerName, action = nameof(AdminController.Toggle) }
            );

            var sitemapIndexController = typeof(SitemapIndexController).ControllerName();

            routes.MapAreaControllerRoute(
                 name: "SitemapIndexesList",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapIndexes/List",
                 defaults: new { controller = sitemapIndexController, action = nameof(SitemapIndexController.List) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapIndexesCreate",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapIndexes/Create",
                 defaults: new { controller = sitemapIndexController, action = nameof(SitemapIndexController.Create) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapIndexesEdit",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapIndexes/Edit/{sitemapId}",
                 defaults: new { controller = sitemapIndexController, action = nameof(SitemapIndexController.Edit) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapIndexesDelete",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapIndexes/Delete/{sitemapId}",
                 defaults: new { controller = sitemapIndexController, action = nameof(SitemapIndexController.Delete) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapIndexesToggle",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapIndexes/Toggle/{sitemapId}",
                 defaults: new { controller = sitemapIndexController, action = nameof(SitemapIndexController.Toggle) }
            );

            var sourceController = typeof(SourceController).ControllerName();

            routes.MapAreaControllerRoute(
                 name: "SitemapsSourceCreate",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapSource/Create/{sitemapId}/{sourceType}",
                 defaults: new { controller = sourceController, action = nameof(SourceController.Create) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapsSourceEdit",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapSource/Edit/{sitemapId}/{sourceId}",
                 defaults: new { controller = sourceController, action = nameof(SourceController.Edit) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapsSourceDelete",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapSource/Delete/{sitemapId}/{sourceId}",
                 defaults: new { controller = sourceController, action = nameof(SourceController.Delete) }
            );


            var sitemapCacheController = typeof(SitemapCacheController).ControllerName();

            routes.MapAreaControllerRoute(
                 name: "SitemapsCacheList",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapsCache/List",
                 defaults: new { controller = sitemapCacheController, action = nameof(SitemapCacheController.List) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapsCachePurgeAll",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapsCache/PurgeAll",
                 defaults: new { controller = sitemapCacheController, action = nameof(SitemapCacheController.PurgeAll) }
            );

            routes.MapAreaControllerRoute(
                 name: "SitemapsCachePurge",
                 areaName: "OrchardCore.Sitemaps",
                 pattern: _adminOptions.AdminUrlPrefix + "/SitemapsCache/Purge/{cacheFileName}",
                 defaults: new { controller = sitemapCacheController, action = nameof(SitemapCacheController.Purge) }
            );

            routes.MapDynamicControllerRoute<SitemapsTransformer>("/{**sitemap}");
            var sitemapManager = serviceProvider.GetService<ISitemapManager>();
            sitemapManager.BuildAllSitemapRouteEntriesAsync().GetAwaiter().GetResult();
        }