相关文章推荐
耍酷的企鹅  ·  ASP.NET Core ...·  2 天前    · 
英姿勃勃的山羊  ·  给我一个spring ...·  7 月前    · 
开朗的烤土司  ·  axios Refused to ...·  1 年前    · 

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

—>1: Core 中可以IIS跟控制台同时启动,也可以控制只启动控制台,如果控制值启动控制台,那么在IIs里面部署就无法启动运行起来。

如何控制 只启动控制台?

找到文件: launchSettings.json Properties 文件夹中

—>2:打开后发现如下xml文件, 把注释的这条语句 放开,

—>3:如果没有这个语句,就手动添加一下: "$schema": "http://json.schemastore.org/launchsettings.json" ,

—>4: 这样启动后,就只有控制台程序,不启动浏览器页面,这样方便测试

—>5:在 core 里面有2中启动方式,一种是 只启动iis,就是选择 IIS Express 二:就是启动项目名本身

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();
                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" asp-append-version="true" />
</environment>

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

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

  • 创建和使用自定义环境;
  • 根据应用程序运行的环境启用或禁用应用程序部分功能;
  • 使用 environment 标签修改当前环境中MVC视图。
软件从开发到正式上线,在这个过程中我们会分为多个阶段,通常会有开发、测试、以及上线等。每个阶段对应的环境参数配置我们会使用不同的参数。比如数据库的连接字符串,开发环境一般我们都是连接的测试库。以前这种情况通常是 COPY 两个同名的配置文件来进行处理,然后在本地就使用本地的配置,生产环境就使用生产环境的配置文件,十分麻烦。而 ASP .NET CORE 利用环境变量来动态配置 JSON 文件对类似这种需求提供了支持,方便我们更好的去做这些事情。 二、ASP.NET Core环境 ASP.NET C Microsoft.Extensions.Configuration.Abstractions Microsoft.Extensions.Configuration Microsoft.Extensions.Configuration.EnvironmentVariables 2. 特性 对于配置的分层键,支持用双下划线“__”代替冒号“:” 支持根据前缀加载 3. 添加配置 1. 右键项目->属性->调试->环境变量 2. 添加如下环境变量
昨天读《C#高级编程第六版》的时侯 讲到 使用csc.exe 编译器的时候 需要设置一下环境变量 如果没有设置环境变量有两种解决办法 第一种方法:在命令行上运行批处理文件%Microsoft VisualStudio 2008%\Common7\Tools\vcvars32.bat 其中%Microsoft VisualStudio 2008% 是安装Visual Studio 2...
通常在应用程序开发到正式上线,在这个过程中我们会分为多个阶段,通常会有 开发、测试、以及正式环境等。每个环境的参数配置我们会使用不同的参数,因此呢,在ASP.NET Core中就提供了相关的环境API,方便我们更好的去做这些事情。 ASP.NET Core使用ASPNETCORE_ENVIRONMENT来标识运行时环境。 ASP.NET Core预设环境 Developm...
NET Core开发环境搭建 使用VS2015开发.NET Core项目,环境的搭建可以参考官网,大致安装步骤如下: 1、首先你得装个vs2015 并且保证已经升级至 update3及以上, 2、vs安装完成之后 先安装 .net core sdk,下载链接: https://download.microsoft.com/download/A/3/8/A38489F3-9777-4...
2025-03-17:最少翻转次数使二进制矩阵回文Ⅰ。用go语言,给定一个大小为 m x n 的二进制矩阵 grid。如果矩阵中的某一行或某一列从前往后读和从后往前读是一样的,那么我们称这一行或这一列