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); 。