在这一部分内容中,我们来讨论ASP.NET Core中的一个新功能:环境变量和启动设置,它将开发过程中的调试和测试变的更加简单。我们只需要简单的修改配置文件,就可以实现开发、预演、生产环境的切换。

ASPNETCORE_ENVIRONMENT
ASP.NET Core控制环境切换最核心的东西是“ASPNETCORE_ENVIRONMENT”环境变量,它直接控制当前应用程序运行的环境类型。您可以通过在项目上右键菜单选择“属性”选项,然后切换到“调试”标签来修改此环境变量。
此环境变量框架默认提供了三个值,当然您也可以定义其它的值:
Development(开发)
Staging(预演)
Production(生产)
我们在Startup.cs文件中,可以使用相应的方法来控制应用程序的行为。以下是创建示例程序时Startup.cs文件生成的默认代码:
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole(Configuration.GetSection("Logging"));
loggerFactory.AddDebug();
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
其中 IHostingEnvironment 类型的变量表示的是当前应用程序运行的环境,ASP.Net Core提供了四个扩展方法,用于检测 “ASPNETCORE_ENVIRONMENT”当前的值。
IsDevelopment()
IsStaging()
IsProduction()
IsEnvironment()
如果您需要检查该应用程序是否在特定环境中运行,可以使用 env.IsEnvironment("environmentname") ,该方法忽略大小写(请不要使用 env.EnvironmentName == "Development" 来检查环境)。
过上面的代码,我们可以知道,如果当前是开发环境,使用UseDeveloperExceptionPage()、UseBrowserLink()方法启用开发环境的错误页面和启用Visual Stuido中的Browser Link功能,这些功能都有利于我们在开发过程中调试程序;但是在生产环境中我们不希望启用这些功能,而是将出错页面指向路径“/Home/Error”,给用户显示友好的错误界面。
launchSettings.json文件
ASP.Net Core包含一个launchSettings.json的新文件,您可以在项目中“Properties”文件夹中找到该文件:
此文件设置了Visual Studio可以启动的不同环境,以下是示例项目中launchSettings.json文件生成的默认代码:
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:22437/",
"sslPort": 0
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"CoreWebApp": {
"commandName": "Project",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "http://localhost:22438"
}
}
}
在这里,有两个配置节点:“IIS Express”、“CoreWebApp”,这两个节点,分别对应Visual Stuido的开始调试按钮的下拉选项:
launchSettings.json 文件用于设置在 Visual Stuido 运行应用程序的环境。我们也可以添加节点,该节点名称会自动添加到 Visual Stuido 调试按钮的下拉选项中。
现在我们来详细说一下这些属性的详细信息:
{
"iisSettings": {
"windowsAuthentication": false,//启用Windows身份验证
"anonymousAuthentication": true,//启用匿名身份验证
"iisExpress": {
"applicationUrl": "http://localhost:22437/",//应用启动的Url路径。
"sslPort": 44355//启用SSL的端口
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"commandLineArgs": "", //传递命令的参数
"workingDirectory": "", //设置命令的工作目录
"launchBrowser": true, //是否在浏览器中启动
"launchUrl": "1111", //在浏览器中启动的相对URL
"environmentVariables": { //将环境变量设置为键/值对
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
要获取其它更多属性的详细信息,请转到此链接:http://json.schemastore.org/launchsettings 。
Environment 标签
通过这个标签,应用程序当根据当前运行的环境修改MVC视图的结构。在示例项目中_Layout.cshtml文件生成的默认代码:
<environment names="Development"> <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="~/css/site.css" /> </environment> <environment names="Staging,Production"> <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" /> <link rel="stylesheet" href="~/css/site.min.css" rel="external nofollow" asp-append-version="true" /> </environment>
在这个示例中,当在开发模式下运行应用程序时,我们使用本地的Bootstrap文件和自定义css文件;但是如果在预演和生产环境中运行,我们则使用ASP.NET内容分发网络(CDN)上的文件副本和经过压缩过的自定义样式。通过这种方式,我们可以提高应用程序的性能。
总结
在ASP.NET Core中,开发者可以使用环境变量轻而易举控制应用程序在不同的环境中的行为。使用这些功能,我们完成以下功能:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ASP.NET
# Core
# 环境变量
# 启动设置
# ASP.NET Core环境变量配置和启动设置讲解
# ASP.NET Core开发环境安装配置
# ASP.NET Core根据环境变量支持多个 appsettings.json配置文件
# ASP.NET Core 配置和使用环境变量的实现
# ASP.NET Core中的环境配置
# 应用程序
# 自定义
# 可以使用
# 您可以
# 我们可以
# 过程中
# 身份验证
# 的是
# 器中
# 都有
# 在这里
# 在这个
# 转到
# 这两个
# 请不要
# 只需要
# 您需要
# 设置为
# 轻而易举
# 您也
相关文章:
油猴 教程,油猴搜脚本为什么会网页无法显示?
C++中引用和指针有什么区别?(代码说明)
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
孙琪峥织梦建站教程如何优化数据库安全?
,网页ppt怎么弄成自己的ppt?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何零基础在云服务器搭建WordPress站点?
如何在香港免费服务器上快速搭建网站?
北京专业网站制作设计师招聘,北京白云观官方网站?
建站主机系统SEO优化与智能配置核心关键词操作指南
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
北京网站制作的公司有哪些,北京白云观官方网站?
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
弹幕视频网站制作教程下载,弹幕视频网站是什么意思?
网站制作公司排行榜,四大门户网站排名?
建站之星安装步骤有哪些常见问题?
建站ABC备案流程中有哪些关键注意事项?
智能起名网站制作软件有哪些,制作logo的软件?
如何快速启动建站代理加盟业务?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
安徽网站建设与外贸建站服务专业定制方案
企业微网站怎么做,公司网站和公众号有什么区别?
临沂网站制作公司有哪些,临沂第四中学官网?
美食网站链接制作教程视频,哪个教做美食的网站比较专业点?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
如何破解联通资金短缺导致的基站建设难题?
模具网站制作流程,如何找模具客户?
利用JavaScript实现拖拽改变元素大小
Swift中swift中的switch 语句
如何在搬瓦工VPS快速搭建网站?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
建站VPS配置与SEO优化指南:关键词排名提升策略
如何快速搭建高效服务器建站系统?
盐城做公司网站,江苏电子版退休证办理流程?
,柠檬视频怎样兑换vip?
如何用AWS免费套餐快速搭建高效网站?
存储型VPS适合搭建中小型网站吗?
如何确认建站备案号应放置的具体位置?
专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
建站主机选择指南:服务器配置与SEO优化实战技巧
大型企业网站制作流程,做网站需要注册公司吗?
官网建站费用明细查询_企业建站套餐价格及收费标准指南
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
*请认真填写需求信息,我们会在24小时内与您取得联系。