ASP.NET Core中间件设置教程(7)_实用技巧


本文摘自PHP中文网,作者微波,侵删。

这篇文章主要为大家详细介绍了ASP.NET Core中间件的设置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Asp.Net Core-中间件

在这一章,我们将了解如何设置中间件。中间件技术在 ASP.NET Core中控制我们的应用程序如何响应 HTTP 请求。它还可以控制应用程序的异常错误,这是一个在如何进行身份验证和授权用户执行特定的操作的关键。

  • 中间件是组装成应用的管道来处理请求和响应的软件组件。

  • 每个组件可以选择是否要在管道中将请求传递到下一个组件,并可以在管道中执行某些操作之前和之后的任务。

  • Request委托用于构建请求管道。Request委托用来处理每个HTTP请求。

  • 每件中间件在 ASP.NET Core都是一个对象,并且每一块有非常具体、 专注和有限的作用。

  • 最终,我们需要很多的中间件为应用程序提供适当的行为。

现在让我们假设我们想将每个对我们应用程序的请求都记录日志。

  • 在这种情况下,我们安装到应用程序中的第一块中间件是一个日志组件。

  • 这个日志程序可以看到一切传入的请求,然后该中间件只是记录一些信息,然后传递这个请求下一个块中间件。

  • 中间件是以一系列的组件出现在这个处理管道中。

  • 我们安装到应用程序的下一个中间件是一个授权组件。

  • 一个组件可能是寻找特定cookie或访问HTTP标头中的令牌。

  • 如果授权组件发现一个令牌,它允许请求继续。

  • 如果不是,授权组件本身可能会响应请求的HTTP错误代码或将用户重定向到登录页面。

  • 否则,授权组件将请求传递给下一个路由器的中间件。

  • 一个路由器查看URL,并确定下一步的行动。

  • 路由器是在做一些回应,如果路由器没有找到任何回应,路由器本身可能会返回404 Not Found错误。

案例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

using Microsoft.AspNet.Builder;

using Microsoft.AspNet.Hosting;

using Microsoft.AspNet.Http;

using Microsoft.Extensions.DependencyInjection;

using Microsoft.Extensions.Configuration;

namespace FirstAppDemo {

  public class Startup {

   public Startup() {

     var builder = new ConfigurationBuilder()

      .AddJsonFile("AppSettings.json");

     Configuration = builder.Build();

   }

   public IConfiguration Configuration { get; set; }

     

   // This method gets called by the runtime.

   // Use this method to add services to the container.

   // For more information on how to configure your application,

   // visit http://go.microsoft.com/fwlink/?LinkID=398940

   public void ConfigureServices(IServiceCollection services) {

   }

     

   // This method gets called by the runtime.

   // Use this method to configure the HTTP request pipeline.

   public void Configure(IApplicationBuilder app) {

     app.UseIISPlatformHandler();

      

     app.Run(async (context) => {

      var msg = Configuration["message"];

      await context.Response.WriteAsync(msg);

     });

   }

   // Entry point for the application.

   public static void Main(string[] args) => WebApplication.Run<Startup>(args);

  }

}

Configure()方法内,我们将调用IApplicationBuilder接口的扩展方法来添加中间件。

阅读剩余部分

相关阅读 >>

aspx是什么文件?

介绍asp.net使用session的方法

.net配置 json 中依赖注入的方法介绍

分享一个“网红脸“”框架实例教程

分享两种asp.net网站发布时的遇到的问题及解决方案

asp.net 传值总结

asp.net利用反射实现给model类赋值的示例代码分析

asp.net core project.json文件(5)_实用技巧

asp.net是什么意思?asp.net框架的特性有哪些

使用action的模型绑定实例教程

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...