public void Activate() { var appBuilder = new AppBuilder(); appBuilder.Properties["host.AppName"] = _shellSettings.Name; var orderedMiddlewares = _owinMiddlewareProviders .SelectMany(p => p.GetOwinMiddlewares()) .OrderBy(obj => obj.Priority, new FlatPositionComparer()); foreach (var middleware in orderedMiddlewares) { middleware.Configure(appBuilder); } // Register the Orchard middleware after all others. appBuilder.UseOrchard(); var pipeline = appBuilder.Build(); var allRoutes = new List <RouteDescriptor>(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); allRoutes.AddRange(_httpRouteProviders.SelectMany(provider => provider.GetRoutes())); _routePublisher.Publish(allRoutes, pipeline); _modelBinderPublisher.Publish(_modelBinderProviders.SelectMany(provider => provider.GetModelBinders())); using (var scope = _workContextAccessor.CreateWorkContextScope()) { using (var events = scope.Resolve <Owned <IOrchardShellEvents> >()) { events.Value.Activated(); } } _sweepGenerator.Activate(); }
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); }
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); } pipeline = appBuilder.Build(); } _routePublisher.Publish( _routeProviders.SelectMany(provider => provider.GetRoutes()), pipeline ); return(Task.CompletedTask); }
public void Activate() { IAppBuilder appBuilder = new AppBuilder(); appBuilder.Properties["host.AppName"] = _shellSettings.Name; var orderedMiddlewares = _owinMiddlewareProviders .SelectMany(p => p.GetOwinMiddlewares()) .OrderBy(obj => obj.Priority, new FlatPositionComparer()); foreach (var middleware in orderedMiddlewares) { middleware.Configure(appBuilder); } // register the Orchard middleware after all others appBuilder.UseOrchard(); Func <IDictionary <string, object>, Task> pipeline = appBuilder.Build(); var allRoutes = new List <RouteDescriptor>(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); allRoutes.AddRange(_httpRouteProviders.SelectMany(provider => provider.GetRoutes())); _routePublisher.Publish(allRoutes, pipeline); _modelBinderPublisher.Publish(_modelBinderProviders.SelectMany(provider => provider.GetModelBinders())); using (var events = _eventsFactory()) { events.Value.Activated(); } _sweepGenerator.Activate(); }
public Task ActivatingAsync() { // Build the middleware pipeline for the current tenant IApplicationBuilder appBuilder = new ApplicationBuilder(_serviceProvider); var orderedMiddlewares = _middlewareProviders .SelectMany(p => p.GetMiddlewares()) .OrderBy(obj => obj.Priority) .ToArray(); foreach (var middleware in orderedMiddlewares) { middleware.Configure(appBuilder); } // Orchard is always the last middleware appBuilder.UseMiddleware <OrchardMiddleware>(); var pipeline = appBuilder.Build(); _routePublisher.Publish( _routeProviders.SelectMany(provider => provider.GetRoutes()), pipeline ); return(Task.CompletedTask); }
/// <summary> /// 激活外壳完成后执行。 /// </summary> public void Activated() { var allRoutes = new List <RouteDescriptor>(); _routeProviders.Invoke(i => i.GetRoutes(allRoutes), Logger); _routePublisher.Publish(allRoutes); }
public void Activate() { _routePublisher.Publish(_routeProviders.SelectMany(provider => provider.GetRoutes())); _modelBinderPublisher.Publish(_modelBinderProviders.SelectMany(provider => provider.GetModelBinders())); _sweepGenerator.Activate(); using (var events = _eventsFactory()) { events.Value.Activated(); } }
public void Activate() { var allRoutes = new List <RouteDescriptor>(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); _routePublisher.Publish(allRoutes); //var endpoint = new DelegateRouteEndpoint(async (context) => // await context // .HttpContext // .Response // .WriteAsync("Hello, World! from " + _shellSettings.Name)); //_routeBuilder.AddPrefixRoute(_shellSettings.RequestUrlPrefix, "hello/world", endpoint); }
public void Activate() { var allRoutes = new List <RouteDescriptor>(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); allRoutes.AddRange(_httpRouteProviders.SelectMany(provider => provider.GetRoutes())); _routePublisher.Publish(allRoutes); _modelBinderPublisher.Publish(_modelBinderProviders.SelectMany(provider => provider.GetModelBinders())); using (var events = _eventsFactory()) { events.Value.Activated(); } _sweepGenerator.Activate(); }
public void Activate() { var allRoutes = new List <RouteDescriptor>(); foreach (var routeProvider in routeProviders) { routeProvider.GetRoutes(allRoutes); } routePublisher.Publish(allRoutes); using (var events = eventsFactory()) { events.Value.Activated(); } sweepGenerator.Activate(); }
public void Configure(IRouteBuilder builder) { var inlineConstraintResolver = builder.ServiceProvider.GetService <IInlineConstraintResolver>(); builder.Routes.Insert(0, AttributeRouting.CreateAttributeMegaRoute(builder.ServiceProvider)); //Add all features route _routePublisher.Publish(builder); // The default route is added to each tenant as a template route, with a prefix builder.Routes.Add(new Microsoft.AspNetCore.Routing.Route( builder.DefaultHandler, "Default", "{area:exists}/{controller}/{action}/{id?}", null, null, null, inlineConstraintResolver) ); }