中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ASP.NET Core環境變量和啟動設置的示例分析

發布時間:2021-07-24 15:01:31 來源:億速云 閱讀:222 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關ASP.NET Core環境變量和啟動設置的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

ASPNETCORE_ENVIRONMENT

ASP.NET Core控制環境切換最核心的東西是“ASPNETCORE_ENVIRONMENT”環境變量,它直接控制當前應用程序運行的環境類型。您可以通過在項目上右鍵菜單選擇“屬性”選項,然后切換到“調試”標簽來修改此環境變量。

ASP.NET Core環境變量和啟動設置的示例分析

此環境變量框架默認提供了三個值,當然您也可以定義其它的值:

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”文件夾中找到該文件:

ASP.NET Core環境變量和啟動設置的示例分析

此文件設置了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的開始調試按鈕的下拉選項:

ASP.NET Core環境變量和啟動設置的示例分析

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" 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"
  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環境變量和啟動設置的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南县| 宁河县| 平塘县| 喀喇| 新乡县| 潜山县| 嘉峪关市| 疏勒县| 合山市| 泌阳县| 镇雄县| 双辽市| 吴旗县| 清远市| 府谷县| 吉安市| 竹溪县| 平江县| 崇信县| 革吉县| 大方县| 清镇市| 沙洋县| 洪湖市| 乐清市| 大同市| 吴忠市| 贵德县| 伊宁县| 巴南区| 阳朔县| 都匀市| 赤水市| 和田县| 兴文县| 井冈山市| 博客| 灵寿县| 泸水县| 富民县| 天门市|