在ASP.NETCore配置環(huán)境變量和啟動(dòng)設(shè)置-創(chuàng)新互聯(lián)

ASPNETCORE_ENVIRONMENT

ASP.NET Core控制環(huán)境切換最核心的東西是“ASPNETCORE_ENVIRONMENT”環(huán)境變量,它直接控制當(dāng)前應(yīng)用程序運(yùn)行的環(huán)境類型。您可以通過(guò)在項(xiàng)目上右鍵菜單選擇“屬性”選項(xiàng),然后切換到“調(diào)試”標(biāo)簽來(lái)修改此環(huán)境變量。

成都創(chuàng)新互聯(lián)從2013年成立,先為裕民等服務(wù)建站,裕民等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為裕民企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

此環(huán)境變量框架默認(rèn)提供了三個(gè)值,當(dāng)然您也可以定義其它的值:

  • Development(開發(fā))

  • Staging(預(yù)演)

  • Production(生產(chǎn))

我們?cè)赟tartup.cs文件中,可以使用相應(yīng)的方法來(lái)控制應(yīng)用程序的行為。以下是創(chuàng)建示例程序時(shí)Startup.cs文件生成的默認(rèn)代碼:

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

        // 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?}");
            });
        }

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

其中 IHostingEnvironment 類型的變量表示的是當(dāng)前應(yīng)用程序運(yùn)行的環(huán)境,ASP.Net Core提供了四個(gè)擴(kuò)展方法,用于檢測(cè) “ASPNETCORE_ENVIRONMENT”當(dāng)前的值。

  • IsDevelopment()

  • IsStaging()

  • IsProduction()

  • IsEnvironment()

如果您需要檢查該應(yīng)用程序是否在特定環(huán)境中運(yùn)行,可以使用 env.IsEnvironment("environmentname") ,該方法忽略大小寫(請(qǐng)不要使用 env.EnvironmentName == "Development" 來(lái)檢查環(huán)境)。

過(guò)上面的代碼,我們可以知道,如果當(dāng)前是開發(fā)環(huán)境,使用UseDeveloperExceptionPage()、UseBrowserLink()方法啟用開發(fā)環(huán)境的錯(cuò)誤頁(yè)面和啟用Visual Stuido中的Browser Link功能,這些功能都有利于我們?cè)陂_發(fā)過(guò)程中調(diào)試程序;但是在生產(chǎn)環(huán)境中我們不希望啟用這些功能,而是將出錯(cuò)頁(yè)面指向路徑“/Home/Error”,給用戶顯示友好的錯(cuò)誤提示。

launchSettings.json文件

ASP.Net Core包含一個(gè)launchSettings.json的新文件,您可以在項(xiàng)目中“Properties”文件夾中找到該文件:

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

此文件設(shè)置了Visual Studio可以啟動(dòng)的不同環(huán)境,以下是示例項(xiàng)目中l(wèi)aunchSettings.json文件生成的默認(rèn)代碼:  

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

{  "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"
    }
  }
}

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

在這里,有兩個(gè)配置節(jié)點(diǎn):“IIS Express”、“CoreWebApp”,這兩個(gè)節(jié)點(diǎn),分別對(duì)應(yīng)Visual Stuido的開始調(diào)試按鈕的下拉選項(xiàng),您可以選擇對(duì)應(yīng)的選項(xiàng)來(lái)啟動(dòng)應(yīng)用程序:

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

launchSettings.json 文件用于設(shè)置在 Visual Stuido 運(yùn)行應(yīng)用程序的環(huán)境。我們也可以添加節(jié)點(diǎn),該節(jié)點(diǎn)名稱會(huì)自動(dòng)添加到 Visual Stuido 調(diào)試按鈕的下拉選項(xiàng)中。

現(xiàn)在我們來(lái)詳細(xì)說(shuō)一下這些屬性的詳細(xì)信息:  

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

{  "iisSettings": {    "windowsAuthentication": false,//啟用Windows身份驗(yàn)證
    "anonymousAuthentication": true,//啟用匿名身份驗(yàn)證
    "iisExpress": {      "applicationUrl": "http://localhost:22437/",//應(yīng)用啟動(dòng)的Url路徑。
      "sslPort": 44355//啟用SSL的端口    }
  },  "profiles": {    "IIS Express": {      "commandName": "IISExpress",      "commandLineArgs": "", //傳遞命令的參數(shù)
      "workingDirectory": "", //設(shè)置命令的工作目錄
      "launchBrowser": true, //是否在瀏覽器中啟動(dòng)
      "launchUrl": "1111", //在瀏覽器中啟動(dòng)的相對(duì)URL
      "environmentVariables": { //將環(huán)境變量設(shè)置為鍵/值對(duì)
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    }
  }
}

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

要獲取其它更多屬性的詳細(xì)信息,請(qǐng)轉(zhuǎn)到此鏈接:h t t p : // j so n . s ch e ma s t o re . o r g/ l a u nc h s et t in g s 。

Environment 標(biāo)簽

通過(guò)這個(gè)標(biāo)簽,應(yīng)用程序當(dāng)根據(jù)當(dāng)前運(yùn)行的環(huán)境修改MVC視圖的結(jié)構(gòu)。在示例項(xiàng)目中_Layout.cshtml文件生成的默認(rèn)代碼:

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

    <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" 
              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>

在ASP.NET Core配置環(huán)境變量和啟動(dòng)設(shè)置

在這個(gè)示例中,當(dāng)在開發(fā)模式下運(yùn)行應(yīng)用程序時(shí),我們使用本地的Bootstrap文件和自定義css文件;但是如果在預(yù)演和生產(chǎn)環(huán)境中運(yùn)行,我們則使用ASP.NET內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)上的文件副本和經(jīng)過(guò)壓縮過(guò)的自定義樣式。通過(guò)這種方式,我們可以提高應(yīng)用程序的性能。

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。

文章標(biāo)題:在ASP.NETCore配置環(huán)境變量和啟動(dòng)設(shè)置-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)于:http://muchs.cn/article32/hehsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站排名定制開發(fā)、域名注冊(cè)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化