亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

ASP.NET?Core中的環境怎么配置

發布時間:2022-04-07 10:49:09 來源:億速云 閱讀:443 作者:iii 欄目:開發技術

這篇文章主要介紹了ASP.NET Core中的環境怎么配置的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇ASP.NET Core中的環境怎么配置文章都會有所收獲,下面我們一起來看看吧。

1.環境變量配置

ASP.NET Core在應用程序啟動時讀取環境變量(Properties\launchSettings.json)ASPNETCORE_ENVIRONMENT,并將該值存儲在IHostingEnvironment.EnvironmentName中。ASPNETCORE_ENVIRONMENT可設置為任意值,但框架只支持三個值:Development(開發)、Staging (分階段)和 Production(生產)。如果未設置ASPNETCORE_ENVIRONMENT,則默認為 Production。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    if (env.IsProduction() || env.IsStaging() || env.IsEnvironment("Staging_2"))
    {
        app.UseExceptionHandler("/Error");
    }
}

Properties/launchSettings.json里面的配置如下:

ASP.NET?Core中的環境怎么配置

  • 當ASPNETCORE_ENVIRONMENT設置為Development時,調用UseDeveloperExceptionPage。

  • 當ASPNETCORE_ENVIRONMENT設置為Staging、Production時,調用UseExceptionHandler。

2.開發環境配置

開發環境可以啟用不應該在生產中公開的功能。例如,只在開發環境中啟用了開發人員異常頁。本地計算機開發環境可以在項目的Properties\launchSettings.json文件中設置。在 launchSettings.json中設置的環境值替代在系統環境中設置的值。以下 launchSettings.json 文件中顯示的三個配置文件:

{
  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:54339/",
      "sslPort": 0
    }
  },
  "profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Development"
      }
    },
    "EnvironmentsSample": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Production"
      },
      "applicationUrl": "http://localhost:54340;http://localhost:54341"
    },
    "Kestrel Staging": {
      "commandName": "Project",
      "launchBrowser": true,
      "environmentVariables": {
        "ASPNETCORE_My_Environment": "1",
        "ASPNETCORE_DETAILEDERRORS": "1",
        "ASPNETCORE_ENVIRONMENT": "Staging"
      },
      "applicationUrl": "http://localhost:51997/"
    }
  }
}

使用dotnet run啟動應用時,會使用具有"commandName": "IISExpress"的第一個配置文件。commandName的值是指定要啟動的Web服務器。而launchSettings.json中的applicationUrl屬性也可指定服務器URL的列表。 在列表中的URL之間使用分號,如上述環境配置中EnvironmentsSample里面的applicationUrl屬性值配置。Visual Studio項目屬性“調試”選項卡中也提供了GUI來編輯launchSettings.json文件:

ASP.NET?Core中的環境怎么配置

在Web服務器重新啟動之前,對項目配置文件所做的更改可能不會生效。必須重新啟動 Kestrel才能檢測到對環境配置所做的更改。
現在我們來驗證開發環境中啟用了開發人員異常頁示例,首先調試啟動第一個配置文件(IISExpress):

ASP.NET?Core中的環境怎么配置

ASP.NET?Core中的環境怎么配置

3.生產環境配置

Production環境應配置為最大限度地提高安全性、性能和應用可靠性。不同于開發的一些通用設置包括:

  • 緩存。

  • 客戶端資源被捆綁和縮小,并可能從CDN(網絡分發)提供。

  • 已禁用診斷錯誤頁。

  • 已啟用友好錯誤頁。

  • 已啟用生產記錄和監視。例如,Application Insights。

現在我們來驗證生產環境中啟用了友好錯誤頁示例,首先調試啟動第二個配置文件(EnvironmentsSample):

ASP.NET?Core中的環境怎么配置

ASP.NET?Core中的環境怎么配置

4.基于環境配置的Startup類和方法

當ASP.NET Core應用程序啟動時,應用程序可以為不同的環境單獨定義Startup類(例如,StartupDevelopment),對應Startup類會在運行時進行選擇環境配置。優先考慮名稱后綴與當前環境相匹配的Startup類。如果找不到匹配的Startup{EnvironmentName},就會使用原始的Startup類。若要實現基于環境的Startup類,請為使用中的每個環境創建Startup{EnvironmentName} 類:

public class StartupDevelopment
{
    public void ConfigureServices(IServiceCollection services)
    {
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
    }
}
public class StartupProduction
{
    public void ConfigureServices(IServiceCollection services)
    {
    }
    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
    }
}

使用接受程序集名稱的UseStartup(IWebHostBuilder, String) 進行重載:

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }
    public static IWebHostBuilder CreateWebHostBuilder(string[] args)
    {
        var assemblyName = typeof(Startup).GetTypeInfo().Assembly.FullName;
        return WebHost.CreateDefaultBuilder(args)
            .UseStartup(assemblyName);
    }
}

通過調試啟動第二個配置文件(EnvironmentsSample)看看效果:

ASP.NET?Core中的環境怎么配置

因為調試啟動第二個配置文件(EnvironmentsSample)的生產(Production)環境,所以Startup類會在運行選擇時會針對當前環境配置找到對應Startup類并加載。

關于“ASP.NET Core中的環境怎么配置”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“ASP.NET Core中的環境怎么配置”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

电白县| 澜沧| 邵东县| 阿克苏市| 攀枝花市| 长乐市| 陵川县| 南充市| 平阴县| 黄大仙区| 涡阳县| 四子王旗| 郸城县| 博湖县| 淮安市| 象州县| 威信县| 合作市| 多伦县| 四平市| 宝山区| 鄂伦春自治旗| 萨嘎县| 黔南| 新和县| 河池市| 柘荣县| 友谊县| 麦盖提县| 大渡口区| 昭觉县| 揭阳市| 辽源市| 牟定县| 朝阳县| 兰州市| 五台县| 夏津县| 南和县| 泉州市| 樟树市|