gpt4 book ai didi

asp.net-core - ASP.Net core-从中间件获取routetemplate值

转载 作者:行者123 更新时间:2023-12-03 02:09:16 24 4
gpt4 key购买 nike

我有一个中间件,每次对我的 API 发出请求时都会调用该中间件。我想记录路由模板以及来自该中间件的请求的持续时间。如何在我的中间件代码中获取路由模板?路由模板类似于“/products/{productId}”。

最佳答案

这是我如何让它工作的。我在过滤器 OnActionExecuting 方法中获取路由模板并将其添加到 HttpContext。稍后我从中间件内的 HttpContext 访问它,因为我可以访问中间件内的 HttpContext。

public class LogActionFilter : IActionFilter
{
public LogActionFilter()
{
}
public void OnActionExecuted(ActionExecutedContext context)
{

}

public void OnActionExecuting(ActionExecutingContext context)
{
context.HttpContext.Items.Add("RouteTemplate", context.ActionDescriptor.AttributeRouteInfo.Template);
}
}

关于asp.net-core - ASP.Net core-从中间件获取routetemplate值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42380514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com