.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_4765_普通计算姬_分块+dfs序+树状数组
BZOJ_4765_普通计算姬_分块 Description "奋战三星期,造台计算机".小G响应号召,花了三小时造了台普通计算姬.普通计算姬比普通计算机要厉害一些 .普通计算机能 ...
- Lucene 源码分析之倒排索引(二)
本文以及后面几篇文章将讲解如何定位 Lucene 中的倒排索引.内容很多,唯有静下心才能跟着思路遨游. 我们可以思考一下,哪个步骤与倒排索引有关,很容易想到检索文档一定是要查询倒排列表的,那么就从此处 ...
- web版仿微信聊天界面|h5仿微信电脑端案例开发
前几天开发了一款手机端h5仿微信聊天,人唯有不停学习才能进步,这段时间倒腾着整理了下之前项目,又重新在原先的那版基础上开发了一款仿微信聊天电脑端web版本,聊天页面又重新优化了多图预览.视频播放,右键 ...
- 测试修改hosts文件py小工具
import sys,osparm_list=sys.argvHOST_PATH=r'C:\liuliang\flask_test\test\hosts'class HostFile(object): ...
- 机器学习中的范数规则化-L0,L1和L2范式(转载)
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
- java游戏开发杂谈 - 游戏编程浅析
每个游戏,你所看到的它的一切,都是计算机画出来的! 地图是画出来,人物是画出来的,树木建筑是画出来的,菜单按钮是画出来的,滚动的文字.闪烁的图标.云雾烟火,都是画出来的. 游戏编程,所要做的,就是控制 ...
- Java进阶篇设计模式之七 ----- 享元模式和代理模式
前言 在上一篇中我们学习了结构型模式的组合模式和过滤器模式.本篇则来学习下结构型模式最后的两个模式, 享元模式和代理模式. 享元模式 简介 享元模式主要用于减少创建对象的数量,以减少内存占用和提高性能 ...
- .Net小白离开校园的第一年
Why? 2018的已经步入尾声,对新的一年又是充满期待. 在这年底里,看到园子里有很多园友写了博客回顾自己的2018,本人自知文笔和各位前辈比不了,但是我也想来写一写,这是我特殊的第一年,记录下来, ...
- pins-模块内的代码及资源隔离方案
随着项目的不断迭代,复杂的业务模块及项目自身的基础技术组件迅速扩张,以往基于单个模块的项目往往显得过于臃肿.代码目录结构,包名混乱,代码模块职责不清晰,耦合度高,不便维护.基础公共组件没有抽取并剥离干 ...
- 阿里云ECS云服务器的简单使用
随着云服务的推广与普及,越来越多的人开始接触到云服务器.然而有些人购买后却不知从何下手,今天就来看下阿里云服务器的使用吧! 一.购买完阿里云服务器后进入阿里云官网首页点击控制台 找到所购买的云产品项点 ...