iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >ASP.NETCore环境变量配置和启动设置讲解
  • 371
分享到

ASP.NETCore环境变量配置和启动设置讲解

2024-04-02 19:04:59 371人浏览 薄情痞子
摘要

ASPnetcore_ENVIRONMENT ASP.net core控制环境切换最核心的东西是“ASPNETCORE_ENVIRONMENT”环境变量,它直

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文件生成的默认代码:

    <environment names="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/CSS/bootstrap.css" rel="external nofollow"  />
        <link rel="stylesheet" href="~/css/site.css" rel="external nofollow"  />
    </environment>
    <environment names="Staging,Production">
        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css" rel="external nofollow" 
              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" />
        <link rel="stylesheet" href="~/css/site.min.css" rel="external nofollow"  asp-append-version="true" />
    </environment>

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

总结

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

  • 创建和使用自定义环境;
  • 根据应用程序运行的环境启用或禁用应用程序部分功能;
  • 使用 environment 标签修改当前环境中MVC视图。

到此这篇关于ASP.NET Core环境变量配置和启动设置的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: ASP.NETCore环境变量配置和启动设置讲解

本文链接: https://www.lsjlt.com/news/139841.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ASP.NETCore环境变量配置和启动设置讲解
    ASPNETCORE_ENVIRONMENT ASP.NET Core控制环境切换最核心的东西是“ASPNETCORE_ENVIRONMENT”环境变量,它直...
    99+
    2024-04-02
  • maven环境变量配置讲解
    maven运行依赖于 JAVA_HOME 如果各位还没有配置 JAVA_HOME,可以参考我的另一篇博客 JDK环境变量配置 JDK 环境变量配置 1.下载并解压 maven压缩包 ...
    99+
    2024-04-02
  • MySQL配置环境变量和启动登录
    如果不配置环境变量,每次登录MySQL 服务器时就必须进入到 MySQL 的 bin 目录下,也就是输入“cd C:\Program Files\MySQL\MySQL Server 5.7\bin”命令后,才能使用 MySQL 等其它命令...
    99+
    2023-10-25
    mysql 数据库
  • MySQL系统环境变量配置详细讲解
    首先,大部分的环境变量配置步骤都是相同的,这里我们来说说MySQL的环境变量 第一步:找到安装路径并复制         找到你的MySQL Server,我这里安装的是MySQL Server 8.0,安装在d盘,路径是D:\dataAp...
    99+
    2023-10-24
    mysql
  • mysql配置环境变量在哪设置
    mysql 配置环境变量在 linux 系统中通常设置为:系统级:/etc/profile用户级:~/.profile具体步骤:添加环境变量:export mysql_path=/usr...
    99+
    2024-04-14
    mysql linux
  • Android环境变量&macOS环境变量配置
    关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导...
    99+
    2023-10-28
    android macos android studio
  • maven配置环境变量
    Maven 是一个基于 Java 的工具,所以需要安装 JDK这是前提。 接下来记录下maven配置环境变量 1.maven的安装 下载地址:https://maven.apache.org/download.cgi 或者你也可以点击a...
    99+
    2023-08-30
    maven java spring
  • Java配置环境变量
    先去官网下载对应系统的jdk,下载路径放同一文件路径下,配置JAVA_HOME(表示你的jdk安装路径),配置jdk的根目录(表示对应的jdk安装路径)。 配置Path里的%\JAVA_HOME%\jre\bin运行时环境和开发环境%\JA...
    99+
    2023-08-31
    java 开发语言
  • tomcat环境变量配置
    要配置Tomcat的环境变量,需要执行以下步骤:1. 打开Tomcat的安装目录,找到`bin`文件夹。2. 复制该目录的路径(例如...
    99+
    2023-09-21
    tomcat
  • 配置anaconda环境变量
    conda环境变量的配置 配置环境变量找到anaconda安装位置打开环境变量配置设置输入python命令跳入商店问题 总结 配置环境变量 找到anaconda安装位置 ...
    99+
    2023-09-06
    python 开发语言
  • JDK环境变量配置
    在Windows系统中配置JDK的环境变量,可以按照以下步骤进行:1. 打开电脑的控制面板。2. 点击"系统和安全"。3. 点击"系...
    99+
    2023-09-06
    JDK
  • 配置JDK环境变量
    一、安装JDK及配置环境变量 安装JDK 选择安装目录 安装过程中会出现两次 安装提示 。第一次是安装 jdk ,第二次是安装 jre 。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk...
    99+
    2023-09-10
    java 前端 服务器 tomcat
  • JDK配置环境变量
    要配置JDK的环境变量,您可以按照以下步骤进行操作:1. 下载并安装JDK:您可以从Oracle官方网站下载适用于您的操作系统的JD...
    99+
    2023-09-13
    JDK
  • adb环境变量配置
    关于adb 什么ADB如何配置CMD命令窗口的使用 什么是adb 首先,我们先说说,adb是什么,他的全称叫安卓调试桥,也就是Android debug bridge ,它是连接Windows平台和安卓手机之间的软件调试工具,很适合软件开发...
    99+
    2023-08-16
    adb android
  • linux配置环境变量
    第一种方法.配置全局的环境变量 第一步(非必须):可以输入export命令,查看已有的环境变量 2.第二步:输入 vi /etc/profile 进入配置文件 3.第三步:如果是新增环境变量的话,...
    99+
    2023-09-15
    linux 服务器 运维
  • JDK6.0安装和配置环境变量
    以下是在Windows系统中安装和配置JDK 6.0的步骤:1. 下载JDK 6.0安装文件,可以从Oracle官方网站(https...
    99+
    2023-09-15
    JDK
  • java环境变量设置
    在设置 Java 环境变量之前,需要确保已经成功安装了 Java JDK(Java Development Kit)。以下是在Windows上设置 Java 环境变量的步骤:Windows 上的设置步骤:打开控制面板并选择"系统和...
    99+
    2023-07-10
  • Docker - 设置环境变量
    文章目录 设置环境变量查看环境变量方式一 docker inspect 命令来查看方式二 docker exec 容器id env 设置环境变量 --env 或者-e指定docker的环境变量 key=value do...
    99+
    2023-08-16
    docker mysql 服务器
  • linux 配置java 环境变量
    上传jdk至/usr/local/下 解压jdk tar -zxvf jdk-8u271-linux-x64.tar.gz 配置环境变量 在/etc/profile中最后增加 export JAVA_HOME=/usr/local/jdk1...
    99+
    2023-09-08
    java linux 服务器
  • Mac 配置Java 环境变量
    首先先下载jdk11,然后安装下载好的jdk11。 1.打开终端,创建.bash_profile 如果是第一次配置环境变量,可以使用"touch .bash_profile" 创建一个 .bash_profile 的隐藏配置文件(如果已经...
    99+
    2023-10-18
    java android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作