是否可以从中间件元素重定向?

时间:2018-12-03 18:43:57

标签: c# asp.net-core

我正在尝试创建一个小的中间件对象,该对象可以在指定的url上重定向,但是我找不到很多有关它的信息,所以我不知道它是否有可能,或者我是否必须将其实现为规则?

代码

public class RedirectMiddleware
{
    private readonly RequestDelegate _request;
    private readonly RedirectMiddlewareConfig _config;

    public RedirectMiddleware(RequestDelegate request, RedirectMiddlewareConfig config)
    {
        _request = request;
        _config = config;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        string path = context.Request.Path.ToString().ToLower();

        if (_config.Paths.ContainsKey(path))
        {
            string url = _config.Paths[path].ToLower();

            context.Response.Redirect(url, true);
        }

        await _request(context);
    }
}

0 个答案:

没有答案