diff --git a/Signum.Engine/Signum.Engine.csproj b/Signum.Engine/Signum.Engine.csproj index 7226e09438..76c91385ce 100644 --- a/Signum.Engine/Signum.Engine.csproj +++ b/Signum.Engine/Signum.Engine.csproj @@ -16,18 +16,11 @@ - + - - - - - - - diff --git a/Signum.Entities/Signum.Entities.csproj b/Signum.Entities/Signum.Entities.csproj index ca451d8f18..808393a865 100644 --- a/Signum.Entities/Signum.Entities.csproj +++ b/Signum.Entities/Signum.Entities.csproj @@ -1,5 +1,5 @@  - + netcoreapp3.0 preview @@ -10,26 +10,20 @@ NU1605 - - + + - + - + PreserveNewest - - - - - - diff --git a/Signum.React/Filters/SignumFilters.cs b/Signum.React/Filters/SignumFilters.cs index 7204837cf2..a39195e968 100644 --- a/Signum.React/Filters/SignumFilters.cs +++ b/Signum.React/Filters/SignumFilters.cs @@ -3,11 +3,13 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Routing; +using Microsoft.AspNetCore.WebUtilities; using Signum.Entities.Basics; using Signum.Utilities; using System; using System.Collections.Generic; using System.Globalization; +using System.Threading.Tasks; namespace Signum.React.Filters { @@ -160,7 +162,7 @@ public static string Action(this UrlHelper helper, string action, object valu } } - public abstract class SignumDisposableResourceFilter : IResourceFilter + public abstract class SignumDisposableResourceFilter : IAsyncResourceFilter { public string ResourceKey; @@ -171,18 +173,10 @@ public SignumDisposableResourceFilter(string key) public abstract IDisposable? GetResource(ResourceExecutingContext context); - public void OnResourceExecuting(ResourceExecutingContext context) - { - context.HttpContext.Items[ResourceKey] = GetResource(context); - } - - public void OnResourceExecuted(ResourceExecutedContext context) + public async Task OnResourceExecutionAsync(ResourceExecutingContext context, ResourceExecutionDelegate next) { - if (context.HttpContext.Items.TryGetValue(ResourceKey, out object? result)) - { - if (result != null) - ((IDisposable)result).Dispose(); - } + using (GetResource(context)) + await next(); } } } diff --git a/Signum.React/Signum.React.csproj b/Signum.React/Signum.React.csproj index 9ece88b5ea..3d192f1841 100644 --- a/Signum.React/Signum.React.csproj +++ b/Signum.React/Signum.React.csproj @@ -33,8 +33,8 @@ - - + + runtime; build; native; contentfiles; analyzers all diff --git a/Signum.Test/Signum.Test.csproj b/Signum.Test/Signum.Test.csproj index 338ab95bcc..8a7242a4ba 100644 --- a/Signum.Test/Signum.Test.csproj +++ b/Signum.Test/Signum.Test.csproj @@ -16,10 +16,10 @@ - - - - + + + +