public Task ActivatingAsync() { IApplicationBuilder appBuilder = new ApplicationBuilder(_serviceProvider); var orderedMiddlewares = _middlewareProviders .SelectMany(p => p.GetMiddlewares()) .OrderBy(obj => obj.Priority) .ToArray(); RequestDelegate pipeline = null; // If there are custom middleware for this tenant, // build a custom pipeline for its routes if (orderedMiddlewares.Length > 0) { foreach (var middleware in orderedMiddlewares) { middleware.Configure(appBuilder); } appBuilder.UseOrchard(); pipeline = appBuilder.Build(); } _routePublisher.Publish( _routeProviders.SelectMany(provider => provider.GetRoutes()), pipeline ); return Task.CompletedTask; }
public void Activate() { IApplicationBuilder appBuilder = new ApplicationBuilder(_serviceProvider); appBuilder.Properties["host.AppName"] = _shellSettings.Name; var orderedMiddlewares = _middlewareProviders .SelectMany(p => p.GetMiddlewares()) .OrderBy(obj => obj.Priority); foreach (var middleware in orderedMiddlewares) { middleware.Configure(appBuilder); } appBuilder.UseOrchard(); var pipeline = appBuilder.Build(); var allRoutes = new List<RouteDescriptor>(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); _routePublisher.Publish(allRoutes, pipeline); }