我是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);
}
}
}
我該如何在我的中間件類中做到這一點?
爲什麼不讓路由引擎它的工作讓它請求路由到您想要使用控制器屬性的路由? –
@HenkMollema主要用於學習目的。我只想知道如何從中間件動態創建路由。當我想從另一個彙編/類庫中加載控制器時可以派上用場。就像擁有自己的中間件和控制器類的類庫一樣。 – Vivendi
你可以創建一個重定向響應。 –