首页 / 问答 / C#&.Net Core(.NET 6, .NET 7)程序中如何在中间件(Middleware)中返回指定的视图呢?

C#&.Net Core(.NET 6, .NET 7)程序中如何在中间件(Middleware)中返回指定的视图呢?

0

在使用C#&.Net Core(.NET 6, .NET 7)进行ASP.NET Core MVC应用程序开发中,中间件是一个处理传入HTTP请求并生成传出HTTP响应的组件。默认情况下,中间件不能直接返回MVC视图。

但根据不同业务场景的需要,有时候需要在中间件(Middleware)中直接返回指定的某个视图,应该如何实现呢?

类似效果如下图:

回复 [×]
提交评论
请输入评论内容

1 个回答

  • 0

    在ASP.NET Core MVC应用程序中,为了从中间件返回视图,可以使用MVC框架。

    要实现这一点,需要在中间件中使用IActionResultExecutor的服务实例来构建MVC请求管道。以下是一个代码示例:

    在程序入口文件Program.cs中启用这个中间件:

    这个示例的中间件功能是:如果请求参数中包含error并且此参数值不为空,那么请求返回一个错误视图(~/Views/Home/Error.cshtml)的内容,否则请求进入下一个请求处理管道。

    以下是运行效果:

    Rector的个人主页

    Rector

    2023-02-10 回答

    我来回答