我对ASP.NET 5和中间件类还不是很熟悉。我想创建一个中间件类来读取传入的URL请求。基于这个请求,我要么让它继续执行并进行常规路由查找,要么让我的中间件类从Web API类中调用特定的控制器/操作。
目前我有以下代码。我认为代码中的注释解释了我想要实现的内容。
目前我有以下代码。我认为代码中的注释解释了我想要实现的内容。
public class RouteMiddleware
{
private readonly RequestDelegate _next;
public RouteMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext httpContext)
{
if(httpContext.Request.QueryString.Value == "test")
{
// Call custom Controller / Action
// Then, don't do any more route resolving, since we already have the right controller/action
}
else
{
// Continue like normal
await _next.Invoke(httpContext);
}
}
}
我该如何在我的中间件类中实现这个功能?