想在 ASP.NET Core 3.0 中调用 Microsoft.AspNetCore.Diagnostics 的 UseStatusCodePages 扩展方法实现显示自定义错误页面
public static IApplicationBuilder UseStatusCodePages(this IApplicationBuilder app, Action<IApplicationBuilder> configuration);
所以需要在中间件中执行 Controller Action ,请问如何实现?
public static IApplicationBuilder UseStatusCodePages(this IApplicationBuilder app, Action<IApplicationBuilder> configuration, int statusCode)
{
var builder = app.New();
configuration(builder);
var tangent = builder.Build();
return UseStatusCodePages(app, context => tangent(context.HttpContext), statusCode);
}
这个吗?
不是这个
controllerfactory拿到你要的那个controller 在execute你要走的action,兴许可以。
MVC 源码中执行 Action 的代码在 MvcRouteHandler 的 RouteAsync 方法中
– dudu 5年前创建 ControllerActionDescriptor 的代码在 ControllerActionDescriptorBuilder.cs
– dudu 5年前