Example #1
0
        public override void MapRoutes(EndpointRoutingBuilder builder)
        {
            builder.MapRoutes(StarterOrdering.LastRoute, routes =>
            {
                // Register routes from SlugRouteTransformer solely needed for URL creation, NOT for route matching.
                SlugRouteTransformer.Routers.Each(x => x.MapRoutes(routes));

                // INFO: Test route
                // TODO: (mh) (core) Remove test route when not needed anymore.
                routes.MapLocalizedControllerRoute("RecentlyAddedProducts", "newproducts/", new { controller = "Catalog", action = "RecentlyAddedProducts" });

                // TODO: (core) Very last route: PageNotFound?
                routes.MapControllerRoute("PageNotFound", "{*path}", new { controller = "Error", action = "NotFound" });
            });
        }
Example #2
0
        public override void MapRoutes(EndpointRoutingBuilder builder)
        {
            builder.MapRoutes(StarterOrdering.EarlyRoute, routes =>
            {
                //routes.MapControllerRoute(
                //    name: "areas",
                //    pattern: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

                routes.MapXmlSitemap();

                routes.MapControllers();

                routes.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
Example #3
0
            public void ConfigureApplication(IApplicationBuilder app)
            {
                var providerContainer = (_appContext as IServiceProviderContainer)
                                        ?? throw new ApplicationException($"The implementation of '${nameof(IApplicationContext)}' must also implement '${nameof(IServiceProviderContainer)}'.");

                providerContainer.ApplicationServices = app.ApplicationServices;

                // At this stage - after the service container was built - we can set the scoped service container.
                _engine.Scope = new ScopedServiceContainer(
                    app.ApplicationServices.GetRequiredService <ILifetimeScopeAccessor>(),
                    app.ApplicationServices.GetRequiredService <IHttpContextAccessor>(),
                    app.ApplicationServices.AsLifetimeScope());

                var activeModuleStarters = _starters.Where(IsActiveModule).ToArray();

                // Configure all modular pipelines
                var pipelineBuilder = new RequestPipelineBuilder {
                    ApplicationBuilder = app, ApplicationContext = _appContext
                };

                foreach (var starter in activeModuleStarters)
                {
                    starter.BuildPipeline(pipelineBuilder);
                }
                pipelineBuilder.Build(app);

                // Map all modular endpoints
                app.UseEndpoints(endpoints =>
                {
                    var routeBuilder = new EndpointRoutingBuilder {
                        ApplicationBuilder = app, ApplicationContext = _appContext, RouteBuilder = endpoints
                    };
                    foreach (var starter in activeModuleStarters)
                    {
                        starter.MapRoutes(routeBuilder);
                    }
                    routeBuilder.Build(endpoints);
                });
            }