ASP.Net Core 5.0 MVC 配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用
配置文件读取
1. 新建FirstController控制器
在appsettings文件内容替换成以下代码
{
"Position": {
"Title": "EditTool For human",
"Name": "Joe Smith"
},//json对象
"MyKey": "My appsettings.json Value",
"StudentList": [
{"sName": "Jack"},
{"sName":"John"}
],//json数组
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}//json对象嵌套
},
"AllowedHosts": "*"
}
在Fristcontroller添加Index方法,复制以下内容
public IActionResult Index()
{ ViewBag.Title = Configuration["Position:Title"];
ViewBag.MyKey = Configuration["MyKey"];
ViewBag.sName1 = Configuration["StudentList:0:sName"];
ViewBag.sName2 = Configuration["StudentList:1:sName"];
ViewBag.Default = Configuration["Logging:LogLevel:Default"];
return View();
}
新增index视图,复制以下内容
@*
For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{
}
<p> ViewBag.Title 的值: @ViewBag.Title</p>
<p> ViewBag.MyKey的值: @ViewBag.MyKey</p>
<p> ViewBag.sName1的值: @ViewBag.sName1</p>
<p> ViewBag.sName2的值: @ViewBag.sName2</p>
<p> ViewBag.Default的值: @ViewBag.Default</p>
运行测试效果
Startup 类
ASP.NET Core 应用使用 Startup
类,按照约定命名为 Startup
。 Startup
类:
- 可选择性地包括 ConfigureServices 方法以配置应用的服务。 服务是一个提供应用功能的可重用组件。 在
ConfigureServices
中注册服务,并通过依赖关系注入 (DI) 或 ApplicationServices 在整个应用中使用服务。 - 包括 Configure 方法以创建应用的请求处理管道。
在应用启动时,ASP.NET Core 运行时会调用 ConfigureServices
和 Configure
:
ConfigureServices 方法
- 可选。
- 在
Configure
方法配置应用服务之前,由主机调用。 - 其中按常规设置配置选项。
主机可能会在调用 Startup
方法之前配置某些服务。 有关详细信息,请参阅主机。
对于需要大量设置的功能,IServiceCollection 上有 Add{Service}
扩展方法。 例如,AddDbContext、AddDefaultIdentity、AddEntityFrameworkStores 和 AddRazorPages :
public void ConfigureServices(IServiceCollection services)
{ services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>(
options => options.SignIn.RequireConfirmedAccount = true)
.AddEntityFrameworkStores<ApplicationDbContext>(); services.AddRazorPages();
}
将服务添加到服务容器,使其在应用和 Configure
方法中可用。 服务通过依赖关系注入或 ApplicationServices 进行解析。
Configure 方法
Configure 方法用于指定应用响应 HTTP 请求的方式。 可通过将中间件组件添加到 IApplicationBuilder 实例来配置请求管道。 Configure
方法可使用 IApplicationBuilder
,但未在服务容器中注册。 托管创建 IApplicationBuilder
并将其直接传递到 Configure
。
ASP.NET Core 模板配置的管道支持:
- 开发人员异常页
- 异常处理程序
- HTTP 严格传输安全性 (HSTS)
- HTTPS 重定向
- 静态文件
- ASP.NET Core MVC 和 Razor Pages
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Error");
app.UseHsts();
} app.UseHttpsRedirection();
app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
}
每个 Use
扩展方法将一个或多个中间件组件添加到请求管道。 例如,UseStaticFiles 配置中间件提供静态文件。
请求管道中的每个中间件组件负责调用管道中的下一个组件,或在适当情况下使链发生短路。
可以在 Configure
方法签名中指定其他服务,如 IWebHostEnvironment
、ILoggerFactory
或 ConfigureServices
中定义的任何内容。 如果这些服务可用,则会被注入。
ASP.Net Core 5.0 MVC 配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用的更多相关文章
- ASP.NET CORE 1.0 MVC API 文档用 SWASHBUCKLE SWAGGER实现
from:https://damienbod.com/2015/12/13/asp-net-5-mvc-6-api-documentation-using-swagger/ 代码生成工具: https ...
- ASP.NET Core 2.0 MVC项目实战
一.前言 毕业后入职现在的公司快有一个月了,公司主要的产品用的是C/S架构,再加上自己现在还在学习维护很老的delphi项目,还是有很多不情愿的.之前实习时主要是做.NET的B/S架构的项目,主要还是 ...
- asp.net core 3.0 MVC JSON 全局配置
asp.net core 3.0 MVC JSON 全局配置 System.Text.Json(default) startup配置代码如下: using System.Text.Encodings. ...
- asp.net Core 2.0 MVC为Controller或Action添加定制特性实现登录验证
前言:最近在倒腾 微软的新平台 asp.net Core 2.0,在这个过程中有些东西还是存在差异.下面是我在学习过程的一点笔记.有不妥之处,望各位大虾指正! 一.先创建一个控制器继承于Control ...
- ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用 (ASP.NET Core 系列目录). 系统环境为CentOS 8 . 打个广告,求职中.. 一 ...
- .NET CORE 2.0之 依赖注入在类中获取IHostingEnvironment,HttpContext
在.NET CORE 中,依赖注入非常常见, 在原先的 HttpContext中常用的server.Mappath已经么有了如下: HttpContext.Current.Server.MapPath ...
- asp.net core 2.0类库项目读取配置文件
1.首先在类库项目中添加 这3个库. 2.在类库项目中添加AppSetting.cs.代码如下: using Microsoft.Extensions.Configuration;using Syst ...
- 无法下载apk等格式的文件的解决方案---ASP .NET Core 2.0 MVC 发布到IIS上以后无法下载apk等格式的文件的解决方案
ASP .NET Core MVC 发布到 IIS 上以后 无法下载apk等格式的文件 使用.NET Core MVC创建了一个站点,其他文件可以下载,但是后来又需求,就把手机端的apk合适的文件上 ...
- ASP.NET Core 2.0 MVC 发布部署--------- ASP.NET Core 发布的具体操作
ASP.NET Core 发布的具体操作 下面使用C# 编写的ASP.NET Core Web项目示例说明发布的全过程. 1.创建项目 选择“文件” > “新建” > “项目”. 在“添加 ...
随机推荐
- 音视频入门-19-使用giflib处理GIF图片
* 音视频入门文章目录 * GIFLIB The GIFLIB project 上一篇 [手动生成一张GIF图片], 自己生成了一张 GIF 动态图 rainbow.gif. 下面,使用 GIFLIB ...
- MATLAB在读取excel文件是发生错误,怎么解决?
转载:https://blog.csdn.net/qq_38712026/article/details/78783422?utm_source=blogxgwz4
- Maven 中 install,package,deploy命令区别
mvn clean package依次执行了clean.resources.compile.testResources.testCompile.test.jar(打包)等7个命令. mvn clean ...
- 跨域的几种方式以及call(),apply() bind()方法的作用和区别
jsonp: jsonp 全称是JSON with Padding,是为了解决跨域请求资源而产生的解决方案,是一种依靠开发人员创造出的一种非官方跨域数据交互协议. 一个是描述信息的格式,一个是信息传递 ...
- 【MyBatis】MyBatis 动态 SQL
MyBatis 动态SQL if 可以根据实体类的不同取值,使用不同的 SQL 语句来进行查询. 使用动态 SQL 最常见情景是根据条件包含 where 子句的一部分. 持久层 DAO 接口: pub ...
- 【Tomcat 源码系列】认识 Tomcat
一,前言 说一句大实话,"平时一直在用 Tomcat,但是我从来没有用过 Tomcat". "平时一直在用 Tomcat",是因为搬砖用的 SpringBoot ...
- Netty入门一:服务端应用搭建 & 启动过程源码分析
最近周末也没啥事就学学Netty,同时打算写一些博客记录一下(写的过程理解更加深刻了) 本文主要从三个方法来呈现:Netty核心组件简介.Netty服务端创建.Netty启动过程源码分析 如果你对Ne ...
- 【Spring】Spring的数据库开发 - 2、Spring JdbcTemplate的常用方法(execute、update、query)
Spring JdbcTemplate的常用方法 文章目录 Spring JdbcTemplate的常用方法 execute() update() query() 简单记录-Java EE企业级应用开 ...
- 【Linux】salt的cmd.script命令介绍
salt是一个很棒的自动化运维工具之一,常用的有cmd.run,今天介绍的是cmd.script 其实一眼就能看出这个命令是执行脚本的命令 具体操作如下: 1.将/etc/salt/master中的 ...
- MongoDB数据库,一些的筛选过滤查询操作和db.updae()更新数据库记录遇到的坑。
缘由:使用MongoDB时遇到一些需要查询/更新操作指定某些字段的业务场景 查询和更新指定字段就需要进行简单的筛选和过滤,也能在大数据量时减少查询消耗时间 1. 查询数据库某些指定字段,同时默认返回_ ...