PRO100 REN4 Asked:2025-01-16 03:45:15 +0000 UTC2025-01-16 03:45:15 +0000 UTC 2025-01-16 03:45:15 +0000 UTC ASP.NET Core框架内部结构 772 C# 的 ASP.NET Core 框架的内部结构是怎样的? 我查找了有关此的信息,但没有找到任何有用的信息。他们到处都在谈论项目本身的架构。但是框架本身由哪些模块组成,它们位于什么层次结构中?如果有任何资源描述这一点,我将不胜感激。 c# 1 个回答 Voted Best Answer Uranus 2025-01-16T11:38:11Z2025-01-16T11:38:11Z ASP.NET Core 架构基于以下关键组件构建: Kestrel:一个嵌入式 Web 服务器,旨在处理 HTTP 请求。它提供高性能,可以独立使用,也可以与其他 Web 服务器(例如 IIS 和 Nginx)结合使用(何时将 Kestrel 与反向代理一起使用)。我建议阅读:配置 ASP.NET Core Kestrel Web 服务器的选项。 中间件:传入 HTTP 请求和传出响应通过的组件管道。每个组件都可以处理一个请求,将其传递给下一个组件,或者完成处理。这使您可以灵活地自定义请求处理并添加身份验证、日志记录和错误处理等功能。您可以在官方文档中阅读更多相关信息:ASP.NET Core Middleware。 路由:负责将传入请求匹配到适当的处理程序(例如控制器或 Razor Pages 端点)的组件。它允许您定义 URL 模式并控制应用程序内的导航。您可以在官方文档和其他资源中阅读更多相关信息: ASP.NET Core 中的路由 路由到 ASP.NET Core 中的控制器操作 ASP.NET Core 8.0 中短路路由的微妙之处 Andrey Shyrokoriadov 的视频 (YouTube):#9 Asp.Net Core 应用程序中的路由/路由/路由:[#61] 模型绑定:一种自动将 HTTP 请求中的数据转换为 C# 对象的机制,使处理表单和客户端提交的数据变得更加容易。您可以在官方文档中阅读更多相关信息:ASP.NET Core 中的模型绑定。 过滤器:允许您在某些请求处理步骤之前或之后执行代码,例如执行控制器操作或模型绑定。它们对于授权、缓存、错误处理和日志记录等任务很有用。您可以在官方文档中阅读更多相关内容:ASP.NET Core 中的过滤器。这里更简单地讨论过滤器的主题:操作过滤器,或如何简单地提高代码可读性。 Razor View Engine:使用 Razor 语法创建动态视图的系统,允许您混合 C# 和 HTML 来生成服务器端内容。您可以在官方文档中阅读更多相关内容:ASP.NET Core 的 Razor 语法参考、ASP.NET Core 中的 Razor 页面简介。 这些组件被组织成一个层次结构,Kestrel 位于底层,处理低级 HTTP 请求。它上面是中间件管道,所有请求和响应都通过它传递。路由、模型绑定和过滤器等组件在更高级别上运行,以处理请求并生成响应。为了更深入地了解 ASP.NET Core 的内部架构,建议您熟悉以下资源: ASP.NET Core 中的请求生命周期 .NET Core应用程序的结构和执行模型
ASP.NET Core 架构基于以下关键组件构建:
这些组件被组织成一个层次结构,Kestrel 位于底层,处理低级 HTTP 请求。它上面是中间件管道,所有请求和响应都通过它传递。路由、模型绑定和过滤器等组件在更高级别上运行,以处理请求并生成响应。为了更深入地了解 ASP.NET Core 的内部架构,建议您熟悉以下资源: