是什么让某些东西成为 ASP.NET Core 中的请求功能?

2024-03-28

ASP.NET Core 有一点我相信我还没有完全理解,那就是请求功能的想法。正如中所解释的the docs https://docs.asp.net/en/latest/fundamentals/request-features.html:

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

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

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

这让我想知道是什么真正使某些东西成为请求功能。那么,是什么让某些东西成为 ASP.NET Core 中的请求功能呢?难道我最初的理解是错误的?决定将某些内容作为请求功能的背后是什么?


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

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

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

  • 异常处理程序中间件处理通过请求功能发生的异常 -https://github.com/aspnet/Diagnostics/blob/dev/src/Microsoft.AspNetCore.Diagnostics.Abstractions/IExceptionHandlerFeature.cs https://github.com/aspnet/Diagnostics/blob/dev/src/Microsoft.AspNetCore.Diagnostics.Abstractions/IExceptionHandlerFeature.cs.
  • 路由中间件通过请求功能将路由数据添加到当前的http上下文 -https://github.com/aspnet/Routing/blob/dev/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs https://github.com/aspnet/Routing/blob/dev/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是什么让某些东西成为 ASP.NET Core 中的请求功能? 的相关文章

  • asp.NET 2.0网站无法访问App_Code中的类

    将我的网站部署到服务器后 我在访问课程时遇到问题 请注意 这是一个网络Site不是网络应用 错误是 编译器错误消息 CS0246 找不到类型或命名空间名称 Order 是否缺少 using 指令或程序集引用 版本信息 Microsoft N
  • ASP.NET MVC4 教程/脚手架 - 验证和显示使用几种不同的区域设置

    我正在使用 VS 2012 RC 并尝试从此处遵循 MVC4 教程 http www asp net mvc tutorials mvc 4 getting started with aspnet mvc4 accessing your m
  • HTML Agility 包删除了中断标记 close

    我正在使用 HTML 敏捷包创建 HTML 文档 我加载一个模板文件 然后将内容附加到其中 所有这些都有效 但是当我查看输出文件时 它已从我的文件中删除了结束标记 br 标签看起来像这样 br 是什么原因造成的 Dim doc As New
  • 如何通过 eBay API 获取 PayPal TransactionID

    我需要通过 API 获取 eBay 上已付款订单的 PayPal TransactionID 我使用外部事务 如下所述 https ebay custhelp com app answers detail a id 1550 linking
  • VSTS/Azure DevOps:包上自动增量 NuGet 包版本

    运行 NET Core Pack任务 如何让输出的NuGet包版本自动递增 例如 如果我当前的版本是1 0 0 那么下次我调用 Pack 任务时 我想看看1 0 1 我正在使用环境构建变量Build BuildNumber并在例如时刻获得输
  • 如何从 JavaScript 触发 ASP.NET Core 客户端验证

    有没有办法从 JavaScript 触发 ASP NET Core 客户端验证 我有一个 Razor Pages 页面 其中包含
  • 无法在 Visual Studio 2022 中启动调试适配器

    如果我创建一个启用了 Docker 支持的 ASP Core MVC 目标框架 5 0 并启动它 我会得到 发生一个或多个错误 无法启动调试适配器 附加信息可能会 在输出窗口中可用 操作被取消 这是调试输出 启用 DebugAdapterH
  • 如何在控制器中使用多个 DBContext

    如何在控制器中使用多个 DBContext 我尝试以不同的方式重载构造函数 一些控制器 public C1 DBContext1 a DBContext2 b DBContext3 c public C1 DBContext1 a publ
  • C# SignalR 异常 - 连接在收到调用结果之前开始重新连接

    我正在开发 2 个应用程序 第一个是 C 控制台应用程序 另一个是 Asp net Web 应用程序 我正在使用 SignalR 连接两者 这是我的 C 控制台应用程序 客户端 public class RoboHub public sta
  • 如何缓存 ASP.NET 网站以获得更好的性能

    我是一名网页设计师 通常设计不需要更新的企业网站 所以我想将输出缓存一天 我怎样才能做到这一点 此外 任何有关在慢速服务器上提高 ASP NET 性能的建议都被接受 请注意 ASP NET 缓存有一个bug http connect mic
  • ASP.NET 页面中的 WMV 文件

    如何在 ASP NET 网页中嵌入 WMV 文件 我希望它作为一个播放器可见 而不仅仅是一个链接 是否有 ASP NET 控件可以实现此目的 我在 VS 2008 工具栏上没有看到这个 在帮助中也找不到 我还没有准备好将此网站转移到 Sil
  • Environment.WorkingSet 错误地报告内存使用情况

    Environment WorkingSet 错误地报告在 Windows 2003 Server 上运行的网站的内存使用情况 操作系统版本 Microsoft Windows NT 5 2 3790 Service Pack 2 NET
  • 服务器端的 ASP.NET 等效项包括

    虽然服务器端包含的经典 ASP 方法在 ASP NET 中有效 但我的印象是它不是首选方法 我 应该 如何达到同样的效果 这就是我现在正在做的事情 您现在有许多选项可以提供这种效果 但方式不同 用户控件 ascx 母版页 master 服务
  • 三层 Asp.Net 应用程序中的异常处理

    1 据我了解 在three tierAsp Net应用程序我们应该通过以下方式实现异常处理 a 我们应该把try catch围绕代码块 位于三层中的任何一层 我们希望页面能够从该代码块正常恢复 当此代码生成异常时 b 我们不应该放try c
  • 果园:自定义注册字段

    对于我的 Orchard 项目 我需要用户在注册时提供一些附加信息 说 名字 姓氏 裤子颜色 此信息必须在注册时输入 并且不能推迟到以后 根据客户的订单 我尝试使用配置文件和扩展注册插件来请求这些 但据我所知 这只为我提供了在注册表中显示的
  • 在 ApiController 操作中获取当前用户,而不将 userID 作为参数传递

    我们如何在安全的 ApiController 操作中获取当前用户 而不将 userName 或 userId 作为参数传递 我们假设这是可用的 因为我们处于安全操作范围内 处于安全操作意味着用户已经通过身份验证并且请求具有她的不记名令牌 鉴
  • asp.net core http 如果没有内容类型标头,则删除 `FromBody` 忽略

    我在 http 中使用 bodyDELETE要求 我知道目前删除主体是非标准的 但是允许的 使用时出现问题HttpClient它不允许删除请求的正文 我知道我可以使用SendAsync 但我宁愿让我的 API 更加灵活 我希望这个机构是可选
  • 您认为 ASP.NET MVC 会与 ASP.NET Webforms 竞争吗?

    您认为 ASP NET MVC 会在 Microsoft Web 开发市场中占据重要份额吗 还是会占市场的 10 15 哦是的 它将让 Web 表单脱颖而出 我们已经看到了真正的 MVC 框架在 Java 世界中的价值 在 MS 世界中 这
  • ASP.NET MVC 动作过滤器

    有谁知道即使在 CATCH 块中 ActionFilterAttribute 类的 OnResultExecuted 方法是否也会执行 ie CookiesActions public ActionResult Login Usuarios
  • 在 ASP.NET 中创建自定义文化

    我想在 App GlobalResources 文件夹中创建一个名为 shopping en sg resx 的新加坡英语 en sg 资源文件 我在编译过程中遇到错误 错误 1 命名空间 资源 已经包含了一个定义 购物 c WINDOWS

随机推荐