什么使ASP.NET Core中的请求功能成为现实?

use*_*696 6 asp.net web server .net-core asp.net-core

ASP.NET Core中有一点我认为我还没有完全理解,这就是请求功能的想法.正如文档中所解释的那样:

功能接口定义给定请求可能支持的特定HTTP功能.服务器定义功能集合以及该服务器支持的初始功能集,但中间件可用于增强这些功能.

我最初的理解是,请求功能是服务器应该公开的所有内容,以便在应用程序管道上使用.也就是说,服务器应该执行的行为,如发送文件.

另一方面,例如,存在认证请求特征.现在,我不确定身份验证属于这一类.它似乎不是应用程序应该调用的某些服务器行为,而是应用程序本身的一个问题.

这让我想知道什么才能真正成为一个请求功能.那么,什么使得某些东西成为ASP.NET Core中的请求功能?我最初的理解是错的吗?做出请求功能的决定背后是什么?

dav*_*owl 5

我对此的初步理解是,请求功能是服务器应公开的所有东西,可以在应用程序管道上使用。也就是说,服务器应执行的行为类似于发送文件。

这是http功能的一种用法。这也是一种增强或减轻HttpContext行为的方式,例如缓冲,发送文件,身份验证,WebSocket。

中间件还可以添加特定于该中间件的功能,您可以看到以下示例:

通常,这是一种将每个请求行为和状态从服务器通过中间件传递到应用程序的方法。