我正在尝试创建一个小的中间件对象,该对象可以在指定的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);
}
}