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

时间:2016-01-25 13:55:37

标签: asp.net web server asp.net-core .net-core

在ASP.NET Core中有一点我相信我还没有完全理解,这就是请求功能的概念。如the docs中所述:

  

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

我对此的初步了解是,请求功能是服务器应该公开的所有内容,以便在应用程序管道上使用。也就是说,服务器应该执行的行为就像发送文件一样。

另一方面,例如,有认证请求功能。现在,我不确定身份验证是否属于此类别。它看起来不像应用程序应该调用的某些服务器行为,而是应用程序本身的一个问题。

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

1 个答案:

答案 0 :(得分:5)

  

我对此的初步了解是,请求功能是服务器应该公开的所有内容,以便在应用程序管道上使用。也就是说,服务器应该执行的行为就像发送文件一样。

这是http功能的一种用法。它也是一种增强或点亮HttpContext行为的方法,如缓冲,发送文件,身份验证,websockets。

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

通常,这是一种将每个请求行为和状态从服务器,中间件流向应用程序的方式。