ASP.NET Core 配置

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: ASP.NET Core (Startup) StartupASP.NET Core必须包含Startup类。它就像 Global.asax 文件,我们传统的 .NET 应用程序。如名称建议的那样,在应用程序启动时首先执行它。在程序类的Main方法中配置主机时,可以使用**UseStartup()**扩展方法配置启动类。请查看下面的程序类,并重点介绍 WebBuilder.UseStart...

ASP.NET Core (Startup)

Startup

ASP.NET Core必须包含Startup类。它就像 Global.asax 文件,我们传统的 .NET 应用程序。如名称建议的那样,在应用程序启动时首先执行它。在程序类的Main方法中配置主机时,可以使用UseStartup()扩展方法配置启动类。请查看下面的程序类,并重点介绍 WebBuilder.UseStartup() 方法。

image.png

名称“Startup”是按照ASP.NET Core约定进行的。 但是,您可以给Startup类指定任何名称,只需在UseStartup ()方法中将其指定为通用参数即可。 例如,要将启动类命名为MyStartup,则将其指定为UseUseup ()。

通过在解决方案资源管理器中单击Startup.cs类文件,在Visual Studio中打开Startup类。 以下是ASP.NET Core 3.x中的默认启动类。

image.png

如上面在代码中看到的,Startup类包含两个公共方法:ConfigureServices和Configure。 Startup类必须包含Configure方法,并且可以选择包含ConfigureService方法。

ASP.NET Core Startup类中的ConfigureServices()方法
依赖注入模式在ASP.NET Core体系结构中大量使用。它包括内置的IoC容器,以使用构造函数提供相关的对象。

在ConfigureServices方法中,可以使用内置IoC容器注册依赖类。注册依赖类后,可以在应用程序中的任何位置使用它。您只需要在要使用它的类的构造函数的参数中包含它即可。 IoC容器将自动注入它。

ASP.NET Core将依赖类称为服务。因此,每当您阅读“服务”,然后将其理解为将在其他一些类中使用的类。

ConfigureServices方法包含IServiceCollection参数,以将服务注册到IoC容器。例如,如果要将RazorPages服务或MVC服务添加到asp.net核心应用程序,则需要将这些服务添加到该方法接受的参数中,如下图所示。

image.png

ASP.NET Core Startup类中的Configure()方法
在Configure方法中,我们可以使用内置IoC容器提供的IApplicationBuilder实例为asp.net核心应用程序配置应用程序请求管道。

ASP.NET Core引入了中间件组件来定义请求管道,该管道将在每个请求上执行。 您仅包括应用程序所需的那些中间件组件,从而提高了应用程序的性能。

带有Empty模板的ASP.NET Core应用程序的默认配置方法包括以下三个中间件,如下图所示。

image.png

AppSetting.json

当我们使用空项目模板或Razor页面或MVC模板或Web API模板创建ASP.NET Core Web应用程序时,Visual Studio会自动为我们创建appsettings.json文件,如下图所示。

image.png

appsettings.json文件是一个应用程序配置文件,用于存储配置设置,例如数据库连接字符串,任何应用程序范围的全局变量等。如果打开ASP.NET Core appsettings.json文件,则默认情况下会看到以下代码 这是由Visual Studio创建的。

image.png

现在,在该文件中添加一个名为MyName的键。 为此,请如下所示修改appsettings.json文件。

由于它是JSON文件,因此您需要以键值对的形式存储值。

image.png

访问AppSetting.json

若要访问Startup类中的配置信息,需要使用ASP.NET Core框架提供的IConfiguration服务。 因此,只需要做的只是通过Startup类的构造函数注入IConfiguration服务。

为此,请修改Startup.cs文件中存在的Startup类,如下所示。

image.png

首先,我们创建了一个IConfiguration _config类型的私有变量(此IConfiguration接口属于Microsoft.Extensions.Configuration命名空间,因此请首先使用此命名空间)。 然后,通过构造函数依赖项注入,我们注入IConfiguration对象并将其存储在私有变量config中。 以下代码。

image.png

然后,我们使用IConfiguration服务实例访问配置变量,即MyName, 以下代码。
image.png

现在运行该应用程序,您应该在浏览器中看到预期的值,如下图所示。

image.png

访问配置的默认顺序是什么?

为同一键读取各种配置源的默认顺序如下:

  1. appsettings.json,
  2. appsettings.{Environment}.json
  3. 用户设置
  4. 环境变量
  5. 命令行参数

如您所见,Program类的Main()方法调用CreateHostBuilder()方法。 然后,CreateHostBuilder()方法在Host类上调用CreateDefaultBuilder()方法。 此CreateDefaultBuilder()方法是设置读取所有配置源的默认顺序的方法。

如果需要,还可以更改此默认顺序,或者即使您愿意,也可以添加自己的自定义配置源以及现有的配置源。 在我们即将发布的文章中,我们将讨论设置自定义配置源。

的默认顺序的方法。

如果需要,还可以更改此默认顺序,或者即使您愿意,也可以添加自己的自定义配置源以及现有的配置源。 在我们即将发布的文章中,我们将讨论设置自定义配置源。

目录
相关文章
|
2月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
2月前
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
30 1
|
3月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
3月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
43 7
|
3月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
64 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
49 0
|
4月前
|
开发框架 前端开发 安全
ASP.NET MVC 如何使用 Form Authentication?
ASP.NET MVC 如何使用 Form Authentication?
|
4月前
|
开发框架 .NET
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索
133 0