mundane hosting aspnet
6.0.0
Mundane是.NET的輕量級“無魔術”網絡框架。
該軟件包使一個平凡的應用程序可以託管ASP.NET。
有關更多信息,請參見平凡的文檔。
安裝Mundane.hosting.aspnet Nuget軟件包,然後在ASP.NET啟動代碼call app.UseMundane();傳遞路由和依賴關係配置。
public void Configure ( IApplicationBuilder app , IWebHostEnvironment env )
{
var dependencies = new Dependencies (
new Dependency < Configuration > ( new Configuration ( env ) ) ,
new Dependency < DataRepository > ( request => new DataRepositorySqlServer (
request . Dependency < Configuration > ( ) . ConnectionString ) ) ) ;
var routing = new Routing (
routeConfiguration =>
{
routeConfiguration . Get ( "/" , HomeController . HomePage ) ;
routeConfiguration . Get ( "/data/{id}" , DataController . GetData ) ;
routeConfiguration . Post ( "/data/{id}" , DataController . UpdateData ) ;
} ) ;
app . UseMundane ( dependencies , routing ) ;
} 可以通過調用MundaneMiddleware.ExecuteRequest()在另一個部分執行端點。例如,您可能需要在使用平凡的引擎時進行自定義錯誤處理。
傳遞當前的HttpContext以及路由和依賴項配置將執行與請求匹配的端點。
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
Routing routing )也可以通過以下方式執行一個eNDPOIFT。
public static async ValueTask ExecuteRequest (
HttpContext context ,
DependencyFinder dependencyFinder ,
MundaneEndpoint endpoint ,
Dictionary < string , string > routeParameters )端點必須是一個具有簽名ValueTask<Response> Endpoint(Request request)的MundaneEndpoint 。任何其他平凡的端點簽名都可以通過調用MundaneEndpoint MundaneEndpointFactory.Create()
MundaneEndpointFactory . Create ( ( ) => Response . Ok ( o => Write ( "Hello World!" ) ) ) ;由於此版本的ExecuteRequest()中沒有路由信息,因此您還必須為端點提供適當的routeParameters字典。當稱為管道的一部分時,平凡創建了一個從URL捕獲的參數字典,例如,使用/my-endpoint/{id} /my-endpoint/123 routeParameters id},Mundane通過new Dictionary<string, string> { { "id", "123" } }
如果端點不需要路由參數,請傳遞一個空詞典: new Dictionary<string, string>(0); 。