Wrapped owin middleware config

This wraps owin middle ware configuration within a work context scope.

Fixes #6991
This commit is contained in:
Sipke Schoorstra 2016-09-28 16:15:51 +02:00
parent 8218535d27
commit b8acabd3e0

View File

@ -55,12 +55,14 @@ namespace Orchard.Environment {
var appBuilder = new AppBuilder();
appBuilder.Properties["host.AppName"] = _shellSettings.Name;
var orderedMiddlewares = _owinMiddlewareProviders
.SelectMany(p => p.GetOwinMiddlewares())
.OrderBy(obj => obj.Priority, new FlatPositionComparer());
using (var scope = _workContextAccessor.CreateWorkContextScope()) {
var orderedMiddlewares = _owinMiddlewareProviders
.SelectMany(p => p.GetOwinMiddlewares())
.OrderBy(obj => obj.Priority, new FlatPositionComparer());
foreach (var middleware in orderedMiddlewares) {
middleware.Configure(appBuilder);
foreach (var middleware in orderedMiddlewares) {
middleware.Configure(appBuilder);
}
}
// Register the Orchard middleware after all others.