There should be an async version of Microsoft.AspNetCore.Routing.IRouteConstraint. ``` Task<bool> MatchAsync(HttpContext httpContext, IRouter route, string routeKey, RouteValueDictionary values, RouteDirection routeDirection) { return await dbContext.Products.Any(x => x.PageName == values[routeKey]); } ```