在这一部分内容中,我们来讨论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"

}

}

}

}

Environment 标签

通过这个标签,应用程序当根据当前运行的环境修改MVC视图的结构。在示例项目中_Layout.cshtml文件生成的默认代码:

asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css" rel="external nofollow"

asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />

在这个示例中,当在开发模式下运行应用程序时,我们使用本地的Bootstrap文件和自定义css文件;但是如果在预演和生产环境中运行,我们则使用ASP.NET内容分发网络(CDN)上的文件副本和经过压缩过的自定义样式。通过这种方式,我们可以提高应用程序的性能。

总结

在ASP.NET Core中,开发者可以使用环境变量轻而易举控制应用程序在不同的环境中的行为。使用这些功能,我们完成以下功能:

创建和使用自定义环境;

根据应用程序运行的环境启用或禁用应用程序部分功能;

使用 environment 标签修改当前环境中MVC视图。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

core部署iis的 调试net_ASP.NET Core环境变量和启动设置的配置教程相关推荐

  1. ASP.NET Core配置环境变量和启动设置

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

  2. core部署iis的 调试net_远程调试远程 IIS 计算机上的 ASP.NET Core - Visual Studio | Microsoft Docs...

    在 Visual Studio 中远程调试远程 IIS 计算机上的 ASP.NET CoreRemote Debug ASP.NET Core on a Remote IIS Computer in ...

  3. 在IIS中调试ASP.NET Core应用程序

    IIS中的调试提供了更平滑的开发过程,无需考虑您的Web服务器是否正在运行. 我已经使用ASP.NET核心了一段时间,并且总是错过了Visual Studio中的直接IIS支持.必须记住启动项目才能启 ...

  4. 一劳永逸部署项目:通过tomcat加载环境变量

    一劳永逸部署项目:通过tomcat加载环境变量 转载自:https://blog.csdn.net/u010414666/article/details/46499953 一.说明 项目中经常会用到x ...

  5. .NET Core 部署IIS无法启动Hangfire方案

    [导读]不知道是否有童鞋遇到过将.NET Core部署到IIS上时,但Hangfire无法启动,自然而然也就导致作业无法良好运行的问题,本文给出两个方案,不知是否有完美解决方案,若有,请于留言中给出, ...

  6. .NET Core开发实战(第10课:环境变量配置提供程序)--学习笔记

    10 | 环境变量配置提供程序:容器环境下配置注入的最佳途径 环境变量的配置提供程序主要适应场景: 1.在 Docker 中运行时 2.在 Kubernetes 中运行时 3.需要设置 ASP.NET ...

  7. .Net Core 部署IIS,最细步骤

    先基本的发布 操作:右击web项目的<发布>按钮.选文件 配置发布属性 部署模式,如果框架依赖部署不行,可以尝试:独立 服务器安装环境 对应的.NET Core Server环境: 安装. ...

  8. .net core 部署在Linux系统上运行的环境搭建

    目录 参照官方文档,地址:https://www.microsoft.com/net/learn/dotnet/hello-world-tutorial#install ​​​​​​​ 1.添加yum ...

  9. adb调试app中java环境变量配置(详细版)

    一.java的安装 第一步:双击打开jdk-8u261-windows-x64.exe文件 第二步:点击下一步,将JDK 8 Update 261安装位置修改至D盘. 第三步:点击下一步,等待安装. ...

  10. ASP.NET CORE 2.0 发布到IIS,IIS如何设置环境变量来区分生产环境和测试环境

    0.前言 因为给前端的测试环境是windows,所以要设置windows上的环境变量,如果上Linux就没有这篇文章了,所以大家不要在意为什么core不放在linux上.  方式一:通过修改发布后的w ...

最新文章

  1. 浏览器下的CSS透明度
  2. 如何在Windows 2000的域环境中自动分发软件
  3. predict_proba is not available when probability=False
  4. cr3格式怎么转换成jpg_怎么把JPG格式转换为PDF?
  5. 极简短网址-一套简约的短网址程序
  6. JavaScript高级程序设计(2)在HTML中使用JavaScript
  7. Caffe学习笔记2--Ubuntu 14.04 64bit 安装Caffe(GPU版本)
  8. phpstorm 2017.1.3 最新版激活方法
  9. 4. Podfile 的解析逻辑
  10. ruby 安装和使用
  11. git/gitgub
  12. Excel同时冻结多行多列
  13. Android音频剪辑裁剪自定义view
  14. WinDbg 常用指令
  15. 网络工程师常用的命令整理-windows版,还不快收藏起来
  16. AppScan详细使用教程
  17. Centos7 系统更改apache默认网站目录(解决You don't have permission to access / on this server问题)...
  18. 拼多多网店批量发货软件,卖家必备发货助手,非常好用,免费7天
  19. 用JavaScript实现简单的星座查询
  20. 很漂亮的用户登录界面HTML模板

热门文章

  1. 类、匿名类、静态、构造、单例
  2. 为什么每天扣我50无忧币?
  3. 在cs页面获取input的值方法
  4. Spring框架利用PropertyPlaceholderConfigurer初始化加载多properties文件
  5. 1.OAuth 2实战 --- OAuth 2.0是什么,为什么要关心它
  6. 8.Linux/Unix 系统编程手册(上) -- 用户和组
  7. 73. 文件上传函数封装
  8. js中的onscroll的用法
  9. sql中的两个简单嵌套
  10. [Bzoj3262]陌上花开(CDQ分治树状数组||树套树)