.Net Core 根据配置文件动态发布至服务器
前言
一个软件的开发周期需要经历开发、测试、上线三个基本的阶段,同理我们在开发过程中会需要经常切换不同的运行环境。.NetCore可以通过配置文件以及写入系统环境变量来自动识别站点的运行环境,保证了数据的安全性。
.NetCore是有几个重要的配置文件,了解他们对.NetCore的开发非常有必要。
配置文件
appsettings.json
appsettings.json是提供给用户进行配置项写入和读取的站点配置文件。以前做asp网站我们都是从web.config.xml中写入和读取,现在即可换成appsettings.json文件。采取json文件的方式进行配置项的管理会让我们的配置方式更加灵活,我们可以在代码中读取配置文件后直接序列化成对象。
appsettings.development.json
appsettings.development.json文件是开发环境下读取的配置文件。即只有在站点宿主认为是开发环境模式下才会从该配置文件读取配置信息。如果一个配置节点在appsettings.json和appsettings.development.json都存在,只要运行环境是开发环境则系统会取appsettings.development.json内的配置节点信息,但是其他的配置节点信息会取appsettings.json上的配置节点信息; 这就是appsettings.development.json配置文件存在的意义,我们可以把开发数据库地址填写到该配置文件上;
appsettings.localhost.json
appsettings.Localhost.json文件是本机运行环境下读取的配置文件(在本机发布在IIS上例外,系统会默认为生产环境,在VS调试环境则可以)。除了读取的运行环境与appsettings.development.json不同外,其他规则都一致;
appsettings.production.json
appsettings.production.json是生产环境才读取的配置文件,规则和上面两种配置文件一样;
注意:无论当前站点在开发环境、生产环境、本机调试环境下系统读取配置文件都会从appsettings.json配置文件读取,只有当本环境对应的配置文件中有与从appsettings.json配置文件相同的节点情况下才会替换,否则是两个配置文件的配置项都同时包含!
服务辨别运行环境
开发环境需要写入系统变量,宿主会根据此变量辨别运行环境是开发环境还是生产环境。只有在vs上调试模式且宿主为IIS Express系统才认为是本地模式(localhost)。
Windows服务器环境变量
右击 我的电脑-->高级-->环境变量-->系统变量-->新建
变量名:ASPNETCORE_ENVIRONMENT
变量值:Development
如下图:

设置完毕后需要重启服务器。
.Net Core 根据配置文件动态发布至服务器的更多相关文章
- .Net Core MVC 网站开发(Ninesky) 2.3、项目架构调整(续)-使用配置文件动态注入
上次实现了依赖注入,但是web项目必须要引用业务逻辑层和数据存储层的实现,项目解耦并不完全:另一方面,要同时注入业务逻辑层和数据访问层,注入的服务直接写在Startup中显得非常臃肿.理想的方式是,w ...
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(2)
上一篇:Ubuntu & GitLab CI & Docker & ASP.NET Core 2.0 自动化发布和部署(1) 服务器版本 Ubuntu 16.04 LTS. 本 ...
- nginx+uWSGI+django+virtualenv+supervisor发布web服务器
nginx+uWSGI+django+virtualenv+supervisor发布web服务器 导论 WSGI是Web服务器网关接口.它是一个规范,描述了Web服务器如何与Web应用程序通信,以 ...
- ASP.NET Core 2.0 MVC 发布部署--------- IIS 具体操作
.Net Core 部署到 IIS系统中的步骤 一.IIS 配置 启用 Web 服务器 (IIS) 角色并建立角色服务. 1.Windows Ddesktop 桌面操作系统(win7及更高版本) 导航 ...
- nginx_uWSGI_django_virtualenv_supervisor发布web服务器
nginx_uWSGI_django_virtualenv_supervisor发布web服务器 nginx 导论 123456789101112131415161718192021222324252 ...
- Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)
Cookies 1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...
- Qt 官方一键动态发布技能
苦找了好几天动态库,程序可以运行了,结果没有图标还是少了运行库很苦恼,发现Qt 官方有一键动态发布功能感觉自己萌萌的,来自qt吧亲测可用. 集成开发环境 QtCreator 目前生成图形界面程序 ex ...
随机推荐
- bzoj 2186 [Sdoi2008]沙拉公主的困惑 欧拉函数
n>=m,所以就变成了求 ϕ(m!)∗n!/m! 而 ϕ(m!)=m!∗(p−1)/p...... p为m!的素因子,即为m内的所有素数,问题就转化为了求 n!∗(p−1)/p...... 只需 ...
- java集合框架之Collections
参考http://how2j.cn/k/collection/collection-collections/369.html Collections是一个类,容器的工具类,就如同Arrays是数组的工 ...
- enumerate取下标
for index,item in enumerate(product_list): # print(product_list.index(item),item) print(index,item) ...
- 从壹开始前后端分离 40 || 完美基于AOP的接口性能分析
旁白音:本文是不定时更新的.net core,当前主线任务的Nuxt+VueAdmin教程的 nuxt.js 之 tibug项目已上线,大家可以玩一玩:http://123.206.33.109:70 ...
- Gatling简单测试SpringBoot工程
前言 Gatling是一款基于Scala 开发的高性能服务器性能测试工具,它主要用于对服务器进行负载等测试,并分析和测量服务器的各种性能指标.目前仅支持http协议,可以用来测试web应用程序和RES ...
- 你需要知道的这几种 asp.net core 修改默认端口的方式
一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望 被框架所管制,那如何实现默认端口的修改 ...
- 折腾Java设计模式之解释器模式
解释器模式 解释器模式是类的行为模式.给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器.客户端可以使用这个解释器来解释这个语言中的句子. 意图 给定一个语言,定义它的文法表 ...
- HTML基础系列
HTML标记语言,网页制作的第一步. 什么是HTML呢?查百度 基础语法 常用标签 HTML是超文本标记语言,HTML不用编译,直接在浏览器中执行,HTML是一个文本文件. HTML基本结构,标签,元 ...
- 14 ,CSS 文字与文本
1.CSS 中长度与颜色 2.CSS 中的文字属性 3.CSS 中的文本属性 14.1 CSS 中长度与颜色 长度单位 说明 in 英寸 cm 公分 mm 公里 cm 以目前字体高度为单位 ex 以小 ...
- 免费开源ERP-成功案例分析(1)
Odoo用户案例 Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.Pow ...