1

我正在尝试添加自定义中间件以向查询添加参数。

根据一些在线搜索,您可以执行以下操作:

{
            //PreQueryStringBuilderMiddleware occurs after authorization
            PreQueryStringBuilderMiddleware = async (ctx, next) =>
            {
                var upstreamRoute = ctx.DownstreamReRoute.UpstreamPathTemplate;
                Log.Information($"{upstreamRoute}");
                await next.Invoke();
            }
        };

看到这个答案

但对我来说,它说 HttpContext 不包含 DownstreamReRoute 的定义。
有什么我遗漏或改变了吗?

4

2 回答 2

1

好吧,事实证明这确实发生了变化,并且在早期版本中这仍然有效。但从我读到的内容来看,Ocelot 似乎已经死了。

于 2020-09-08T13:29:38.900 回答
0
var upstreamRoute = ctx.Items.DownstreamRoute().UpstreamPathTemplate

使用上面的代码代替 var upstreamRoute = ctx.DownstreamReRoute.UpstreamPathTemplate;

此类更改是在 15.0.6 和 16.0.0 Ocelot 版本之间进行的。有关详细信息,您可以在 github 上查看它们:https ://github.com/ThreeMammals/Ocelot/compare/15.0.6...16.0.0

于 2021-06-30T13:46:57.773 回答