netcore 入门之项目文件,配置源

net core项目文件

csproj文件

作用:

  • 根据编程语言所使用的文件
  • 确定哪些文件属于该项目
    项目目录下新增/删除文件回自动生成
    在这里插入图片描述
    1.Targetframework
    指定需要的tfm(TargetFrameworkMoniker)
    在这里插入图片描述
    当然目前netcore有netcoreapp3.1 和.net5

2.AspNetCoreHostingModel
指定托管形式是进程外还是进程内(默认是进程外)
在这里插入图片描述

3.PackageReference
包含nuget的引用
在这里插入图片描述
所谓的不指定版本号,由sdk隐式指定是指不写version部分的版本号
在这里插入图片描述
PS:进程外与进程内
在这里插入图片描述

Program.cs

内容
在这里插入图片描述
Main:应用程序都是通过Main方法,配置相关配置文件&服务器

  • Build():将上文的对象进行编译并放到对应的服务器(IIS ,APACHE,Kastrel)进行托管
  • Run():接受客户端发过来的相应的请求和报文

CreateWebHostBuilder:

  • 创建环境的默认值
  • 内有CreateDefaultBuilder

在这里插入图片描述

Startup.cs

在这里插入图片描述
1.ConfigureServices
配置服务和内容(第三方插件等)
比如addMvc() 添加MVC服务
EF框架的Context等

2.Configure
管理运行池的管道
管道作用:相应各种http请求
中间件配置

launchSettings.json

在这里插入图片描述

内容
1.iissettings(iis的配置信息)
windowsAuthentication": false----默认关闭windows验证
“anonymousAuthentication”: true,----启用了匿名身份验证
启动IISExpress进行访问

2.profiles(个人配置信息)
分别配置了iis express 和项目的属性信息
commandName
启用的命令名称
是通过iisexpress启动还是通过项目本身启动 ,通过iisexpress则会通过iissetting找到对应的配置进行

profiles与项目文件csproij的AspNetCoreHostingModel的值得相互影响

在这里插入图片描述

当且仅当commandName配置project执行时,或者在项目目录下执行cmd并执行dotnet run时可以直接使用kestrel

项目名称.csproj

可以变更托管形式
在这里插入图片描述

AspNetCore中的配置源

配置源(依次加载,例如command-line时会覆盖appsettings.json的参数)

可以从源代码中看加载顺序
1.appsettings.json appsettings.{Enviroment}.json
不同的环境对应不同的托管环境
Environment是指开发环境或者是测试环境,例如appsetttings.Devolopment.json等
2.User Secrets(用户机密)
vs-右键,管理用户机密

  • 优先级别较高
  • 更建议在launchSetting中编写信息
    这样编写的信息是存在项目本地中,而不是个人电脑,改动更为灵活方便
    在这里插入图片描述

3.Environment Variables(环境变量)
4.Command-line arguments(命令行参数)

访问配置信息(IConfiguration)

IConfiguration 用于读取上文的配置属性
1.构造初始化IConfiguration
在这里插入图片描述
2.appsettings.json 设置MyKey的值
在这里插入图片描述

3.获取并输出appsettings.json的值
在这里插入图片描述

AspNetCore的中间件(MiddleWare)

1.作用:处理http请求的管道,处理权限验证等
2.流程
日志->静态文件->MVC(可能短路)
在这里插入图片描述

特点

  • 可同时被访问和请求
  • 可以处理请求后,然后将请求传递给下一个中间件
  • 可以处理请求后,并使管道短路
    例如MVC可以进行短路,不传送给下一个中间件,并进行反传
  • 可以处理传出响应
  • 中间件是按添加的顺序执行的

3.配置请求处理管道(通过app.run)
代码
正常(不能继续执行app.Run),只会执行第一个app.Run
在这里插入图片描述
继续执行下一个中间件(使用App.Use,传入一个可执行的委托,从而执行下一个)
在这里插入图片描述
中间件的处理流程:
在这里插入图片描述
ASP.NET Core 中间件(Middleware)详解

4.配置静态文件访问
一.概括
在这里插入图片描述
二.配置静态文件中间件:app.UseStaticFiles()

三.配置默认文件中间件:
app.UseDefaultFiles()
使用系统默认文件 index.html index.htm default.html等
一定要在静态文件中间件之前
只是路径重写器,所以要卸载
代码
在这里插入图片描述
四.配置目录访问中间件
静态文件中间件,目录访问中间件,默认文件中间件的结合,但是不推荐使用
在这里插入图片描述
五.配置异常中间件(一般系统会默认配置)
app.UseDeveloperExceptionPage()
app.UseDeveloperExceptionPage(developerExceptionPageOptions)
在这里插入图片描述
PS:尽可能提早注入,以防其他中间件异常时可以提示

AspNetCore的环境

环境类型

  • Development 开发环境
  • Staging 临时环境
  • Production 生产环境

环境配置(lauchSetting.json)
代码环境配置
在这里插入图片描述
机器环境配置
在这里插入图片描述

PS
当代码没有配置,且机器没有配置环境时,默认为Production
优先级为代码配置>机器配置>默认(Production)
当第一遍更新机器环境时,执行代码,当前环境为Production(机器环境未生效),需要重启VS
概括
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值