Use ValueTask for DynamicRouteValuesTransformer

This commit is contained in:
Ryan Nowak 2019-06-24 13:21:17 -07:00 committed by Ryan Nowak
parent bff743aced
commit 1552e9f842
3 changed files with 9 additions and 9 deletions

View File

@ -2914,7 +2914,7 @@ namespace Microsoft.AspNetCore.Mvc.Routing
public abstract partial class DynamicRouteValueTransformer
{
protected DynamicRouteValueTransformer() { }
public abstract System.Threading.Tasks.Task<Microsoft.AspNetCore.Routing.RouteValueDictionary> TransformAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.RouteValueDictionary values);
public abstract System.Threading.Tasks.ValueTask<Microsoft.AspNetCore.Routing.RouteValueDictionary> TransformAsync(Microsoft.AspNetCore.Http.HttpContext httpContext, Microsoft.AspNetCore.Routing.RouteValueDictionary values);
}
[System.AttributeUsageAttribute(System.AttributeTargets.Method, AllowMultiple=true, Inherited=true)]
public abstract partial class HttpMethodAttribute : System.Attribute, Microsoft.AspNetCore.Mvc.Routing.IActionHttpMethodProvider, Microsoft.AspNetCore.Mvc.Routing.IRouteTemplateProvider

View File

@ -37,6 +37,6 @@ namespace Microsoft.AspNetCore.Mvc.Routing
/// <param name="httpContext">The <see cref="HttpContext" /> associated with the current request.</param>
/// <param name="values">The route values associated with the current match. Implementations should not modify <paramref name="values"/>.</param>
/// <returns>A task which asynchronously returns a set of route values.</returns>
public abstract Task<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values);
public abstract ValueTask<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values);
}
}

View File

@ -48,7 +48,7 @@ namespace RoutingWebSite
private class Transformer : DynamicRouteValueTransformer
{
// Turns a format like `controller=Home,action=Index` into an RVD
public override Task<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values)
public override ValueTask<RouteValueDictionary> TransformAsync(HttpContext httpContext, RouteValueDictionary values)
{
var kvps = ((string)values["slug"]).Split(",");
@ -59,7 +59,7 @@ namespace RoutingWebSite
results[split[0]] = split[1];
}
return Task.FromResult(results);
return new ValueTask<RouteValueDictionary>(results);
}
}
}