From c4b9a62e3b71342d6656d8b4db467e2d42de5565 Mon Sep 17 00:00:00 2001 From: Shannon Date: Wed, 29 Jan 2020 15:29:28 +1100 Subject: [PATCH] Fixes netstandard references --- .../Composing/LightInject/LightInjectContainer.cs | 4 ++-- .../MixedLightInjectScopeManagerProvider.cs | 7 +++---- .../Umbraco.Infrastructure.csproj | 2 -- src/Umbraco.Web/AppBuilderExtensions.cs | 10 ++-------- .../Composing/LightInject/LightInjectContainer.cs | 11 +++++++++++ .../Logging/OwinLogger.cs | 3 ++- .../Logging/OwinLoggerFactory.cs | 2 +- src/Umbraco.Web/Umbraco.Web.csproj | 5 +++++ 8 files changed, 26 insertions(+), 18 deletions(-) rename src/{Umbraco.Infrastructure => Umbraco.Web}/Logging/OwinLogger.cs (98%) rename src/{Umbraco.Infrastructure => Umbraco.Web}/Logging/OwinLoggerFactory.cs (94%) diff --git a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs b/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs index d8a554ee8c..5200dced90 100644 --- a/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs +++ b/src/Umbraco.Infrastructure/Composing/LightInject/LightInjectContainer.cs @@ -244,11 +244,11 @@ namespace Umbraco.Core.Composing.LightInject { } /// - public void EnablePerWebRequestScope() + public virtual void EnablePerWebRequestScope() { if (!(Container.ScopeManagerProvider is MixedLightInjectScopeManagerProvider smp)) throw new Exception("Container.ScopeManagerProvider is not MixedLightInjectScopeManagerProvider."); - smp.EnablePerWebRequestScope(); + smp.EnablePerWebRequestScope(new PerLogicalCallContextScopeManagerProvider()); } private class AssemblyScanner : IAssemblyScanner diff --git a/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs b/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs index 897c58dd43..3175376b33 100644 --- a/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs +++ b/src/Umbraco.Infrastructure/Composing/LightInject/MixedLightInjectScopeManagerProvider.cs @@ -1,5 +1,4 @@ using LightInject; -using LightInject.Web; namespace Umbraco.Core.Composing.LightInject { @@ -29,10 +28,10 @@ namespace Umbraco.Core.Composing.LightInject _provider = new PerThreadScopeManagerProvider(); } - public void EnablePerWebRequestScope() + public void EnablePerWebRequestScope(IScopeManagerProvider perRequestScopeProvider) { - if (_provider is PerWebRequestScopeManagerProvider) return; - _provider = new PerWebRequestScopeManagerProvider(); + if (perRequestScopeProvider.GetType().IsAssignableFrom(_provider.GetType())) return; + _provider = perRequestScopeProvider; } public IScopeManager GetScopeManager(IServiceFactory factory) diff --git a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj index bb893ea1df..ebebe6c15e 100644 --- a/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj +++ b/src/Umbraco.Infrastructure/Umbraco.Infrastructure.csproj @@ -8,9 +8,7 @@ - - diff --git a/src/Umbraco.Web/AppBuilderExtensions.cs b/src/Umbraco.Web/AppBuilderExtensions.cs index f740d57b79..a4f1eceb14 100644 --- a/src/Umbraco.Web/AppBuilderExtensions.cs +++ b/src/Umbraco.Web/AppBuilderExtensions.cs @@ -1,16 +1,10 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Web; +using System.Web; using Microsoft.AspNet.SignalR; using Microsoft.Owin.Logging; using Owin; using Umbraco.Core.Configuration; -using Umbraco.Core.Logging; using Umbraco.Web.Composing; -using Umbraco.Web.SignalR; +using Umbraco.Web.Logging; namespace Umbraco.Web { diff --git a/src/Umbraco.Web/Composing/LightInject/LightInjectContainer.cs b/src/Umbraco.Web/Composing/LightInject/LightInjectContainer.cs index 103cd32912..863e406067 100644 --- a/src/Umbraco.Web/Composing/LightInject/LightInjectContainer.cs +++ b/src/Umbraco.Web/Composing/LightInject/LightInjectContainer.cs @@ -1,6 +1,7 @@ using System; using System.Web.Http; using LightInject; +using LightInject.Web; using Umbraco.Core.Composing.LightInject; namespace Umbraco.Web.Composing.LightInject @@ -23,6 +24,16 @@ namespace Umbraco.Web.Composing.LightInject public new static LightInjectContainer Create() => new LightInjectContainer(CreateServiceContainer()); + /// + /// Overridden to supply the .Net Framework based PerWebRequestScopeManagerProvider + /// + public override void EnablePerWebRequestScope() + { + if (!(Container.ScopeManagerProvider is MixedLightInjectScopeManagerProvider smp)) + throw new Exception("Container.ScopeManagerProvider is not MixedLightInjectScopeManagerProvider."); + smp.EnablePerWebRequestScope(new PerWebRequestScopeManagerProvider()); + } + /// public override void ConfigureForWeb() { diff --git a/src/Umbraco.Infrastructure/Logging/OwinLogger.cs b/src/Umbraco.Web/Logging/OwinLogger.cs similarity index 98% rename from src/Umbraco.Infrastructure/Logging/OwinLogger.cs rename to src/Umbraco.Web/Logging/OwinLogger.cs index 5601cb53f2..7ca3d2a915 100644 --- a/src/Umbraco.Infrastructure/Logging/OwinLogger.cs +++ b/src/Umbraco.Web/Logging/OwinLogger.cs @@ -1,7 +1,8 @@ using System; using System.Diagnostics; +using Umbraco.Core.Logging; -namespace Umbraco.Core.Logging +namespace Umbraco.Web.Logging { internal class OwinLogger : Microsoft.Owin.Logging.ILogger { diff --git a/src/Umbraco.Infrastructure/Logging/OwinLoggerFactory.cs b/src/Umbraco.Web/Logging/OwinLoggerFactory.cs similarity index 94% rename from src/Umbraco.Infrastructure/Logging/OwinLoggerFactory.cs rename to src/Umbraco.Web/Logging/OwinLoggerFactory.cs index 9cd4c06263..278fa3f0b4 100644 --- a/src/Umbraco.Infrastructure/Logging/OwinLoggerFactory.cs +++ b/src/Umbraco.Web/Logging/OwinLoggerFactory.cs @@ -2,7 +2,7 @@ using Microsoft.Owin.Logging; using Umbraco.Composing; -namespace Umbraco.Core.Logging +namespace Umbraco.Web.Logging { public class OwinLoggerFactory : ILoggerFactory { diff --git a/src/Umbraco.Web/Umbraco.Web.csproj b/src/Umbraco.Web/Umbraco.Web.csproj index f577f212d6..978b7eec94 100755 --- a/src/Umbraco.Web/Umbraco.Web.csproj +++ b/src/Umbraco.Web/Umbraco.Web.csproj @@ -70,6 +70,9 @@ + + 2.0.0 + @@ -165,6 +168,8 @@ + +