我有一些ASP.NET核心代码,我想将其提取到定制中间件中。具体来说,应该实现以下逻辑:当请求某个路径mapPath时,将请求代理到由proxyUrl标识的另一个主机。
Startup.cs中的以下代码可以做到这一点:
var proxyUri = new Uri(proxyUrl);
builder.Map(
mapPath,
appMapped =>
{
appMapped.RunProxy(
new ProxyOptions
{
Scheme = proxyUri.Scheme,
Host = proxyUri.Host,
Port = proxyUri.Port.ToString()
});
}
);好的,它使用app.Map()分支,然后使用代理中间件代理请求。
(如何)可以将此逻辑提取到自定义和可重写的中间件中?还是我不能在这里使用“真正的”中间件?当然,我能做的是编写一个扩展方法,例如app.UseMapProxy(),并将逻辑1:1放入其中,但我只是想知道是否也可以使用“真正的”中间件类来实现它。
发布于 2016-06-09 22:48:46
这种设置最好封装在IApplicationBuilder扩展方法中。除了现有的组件之外,您没有添加任何按请求的功能,只是将它们连接在一起。
https://stackoverflow.com/questions/37725964
复制相似问题