Asp.Net核心HTTPContext和RewritePath

时间:2018-12-05 20:44:03

标签: c# asp.net-core

我正在将旧的 pip install pandas -U 转换为新的HttpModule,并想知道在MiddleWare中重写路径的正确方法是什么。

旧模块使用此:

MiddleWare

1 个答案:

答案 0 :(得分:0)

对于简单的规则,您应该只需要按自己的方式更改request.Path中的Scheme [,HostQueryStringcontext]通过您的中间件;如下所示,并确保您的中间件在管道中尽早运行:

internal class PathRewritingMiddleware
{
    private readonly RequestDelegate _next;

    public PathRewritingMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public Task Invoke(HttpContext context)
    {
        context.Request.Path = "elsewhere/" + context.Request.Path;
        return _next(context);
    }
}

也就是说,不要,因为ASP.NET Core已经为您thought of all of this了。