亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

ASP.NET Core中的環(huán)境配置

 更新時(shí)間:2022年04月07日 09:25:46   作者:暗斷腸  
這篇文章介紹了ASP.NET Core中的環(huán)境配置,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1.環(huán)境變量配置

ASP.NET Core在應(yīng)用程序啟動(dòng)時(shí)讀取環(huán)境變量(Properties\launchSettings.json)ASPNETCORE_ENVIRONMENT,并將該值存儲(chǔ)在IHostingEnvironment.EnvironmentName中。ASPNETCORE_ENVIRONMENT可設(shè)置為任意值,但框架只支持三個(gè)值:Development(開(kāi)發(fā))、Staging (分階段)和 Production(生產(chǎn))。如果未設(shè)置ASPNETCORE_ENVIRONMENT,則默認(rèn)為 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里面的配置如下:

  • 當(dāng)ASPNETCORE_ENVIRONMENT設(shè)置為Development時(shí),調(diào)用UseDeveloperExceptionPage。
  • 當(dāng)ASPNETCORE_ENVIRONMENT設(shè)置為Staging、Production時(shí),調(diào)用UseExceptionHandler。

2.開(kāi)發(fā)環(huán)境配置

開(kāi)發(fā)環(huán)境可以啟用不應(yīng)該在生產(chǎn)中公開(kāi)的功能。例如,只在開(kāi)發(fā)環(huán)境中啟用了開(kāi)發(fā)人員異常頁(yè)。本地計(jì)算機(jī)開(kāi)發(fā)環(huán)境可以在項(xiàng)目的Properties\launchSettings.json文件中設(shè)置。在 launchSettings.json中設(shè)置的環(huán)境值替代在系統(tǒng)環(huán)境中設(shè)置的值。以下 launchSettings.json 文件中顯示的三個(gè)配置文件:

{
  "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啟動(dòng)應(yīng)用時(shí),會(huì)使用具有"commandName": "IISExpress"的第一個(gè)配置文件。commandName的值是指定要啟動(dòng)的Web服務(wù)器。而launchSettings.json中的applicationUrl屬性也可指定服務(wù)器URL的列表。 在列表中的URL之間使用分號(hào),如上述環(huán)境配置中EnvironmentsSample里面的applicationUrl屬性值配置。Visual Studio項(xiàng)目屬性“調(diào)試”選項(xiàng)卡中也提供了GUI來(lái)編輯launchSettings.json文件:

在Web服務(wù)器重新啟動(dòng)之前,對(duì)項(xiàng)目配置文件所做的更改可能不會(huì)生效。必須重新啟動(dòng) Kestrel才能檢測(cè)到對(duì)環(huán)境配置所做的更改。
現(xiàn)在我們來(lái)驗(yàn)證開(kāi)發(fā)環(huán)境中啟用了開(kāi)發(fā)人員異常頁(yè)示例,首先調(diào)試啟動(dòng)第一個(gè)配置文件(IISExpress):

3.生產(chǎn)環(huán)境配置

Production環(huán)境應(yīng)配置為最大限度地提高安全性、性能和應(yīng)用可靠性。不同于開(kāi)發(fā)的一些通用設(shè)置包括:

  • 緩存。
  • 客戶端資源被捆綁和縮小,并可能從CDN(網(wǎng)絡(luò)分發(fā))提供。
  • 已禁用診斷錯(cuò)誤頁(yè)。
  • 已啟用友好錯(cuò)誤頁(yè)。
  • 已啟用生產(chǎn)記錄和監(jiān)視。例如,Application Insights。

現(xiàn)在我們來(lái)驗(yàn)證生產(chǎn)環(huán)境中啟用了友好錯(cuò)誤頁(yè)示例,首先調(diào)試啟動(dòng)第二個(gè)配置文件(EnvironmentsSample):

4.基于環(huán)境配置的Startup類和方法

當(dāng)ASP.NET Core應(yīng)用程序啟動(dòng)時(shí),應(yīng)用程序可以為不同的環(huán)境單獨(dú)定義Startup類(例如,StartupDevelopment),對(duì)應(yīng)Startup類會(huì)在運(yùn)行時(shí)進(jìn)行選擇環(huán)境配置。優(yōu)先考慮名稱后綴與當(dāng)前環(huán)境相匹配的Startup類。如果找不到匹配的Startup{EnvironmentName},就會(huì)使用原始的Startup類。若要實(shí)現(xiàn)基于環(huán)境的Startup類,請(qǐng)為使用中的每個(gè)環(huán)境創(chuàng)建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) 進(jìn)行重載:

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);
    }
}

通過(guò)調(diào)試啟動(dòng)第二個(gè)配置文件(EnvironmentsSample)看看效果:

因?yàn)檎{(diào)試啟動(dòng)第二個(gè)配置文件(EnvironmentsSample)的生產(chǎn)(Production)環(huán)境,所以Startup類會(huì)在運(yùn)行選擇時(shí)會(huì)針對(duì)當(dāng)前環(huán)境配置找到對(duì)應(yīng)Startup類并加載。

到此這篇關(guān)于ASP.NET Core環(huán)境配置的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Blazor框架簡(jiǎn)介

    Blazor框架簡(jiǎn)介

    Blazor是微軟推出的基于.net平臺(tái)以及http://ASP.net?core技術(shù)的?交互式客戶Web?UI框架。這篇文章為大家簡(jiǎn)單介紹了Blazor框架,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • ASP.NET中FileUpload文件上傳控件應(yīng)用實(shí)例

    ASP.NET中FileUpload文件上傳控件應(yīng)用實(shí)例

    本文主要介紹FileUpload文件上傳控件在實(shí)際開(kāi)發(fā)中經(jīng)常遇到的問(wèn)題并給出解決方法,希望對(duì)大家有所幫助。
    2016-04-04
  • ASP.NET?Core命名空間System.Text.Encodings.Web介紹

    ASP.NET?Core命名空間System.Text.Encodings.Web介紹

    這篇文章介紹了ASP.NET?Core命名空間System.Text.Encodings.Web,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • Effective C# 使用成員初始化器而不是賦值語(yǔ)句

    Effective C# 使用成員初始化器而不是賦值語(yǔ)句

    一般情況下,一個(gè)類都會(huì)有多個(gè)構(gòu)造函數(shù)。隨著時(shí)間的推移,成員變量、構(gòu)造函數(shù)不斷增加
    2012-11-11
  • 簡(jiǎn)單的啟動(dòng)窗體

    簡(jiǎn)單的啟動(dòng)窗體

    簡(jiǎn)單的啟動(dòng)窗體...
    2006-10-10
  • C#列出局域網(wǎng)中可用SQL Server服務(wù)器(續(xù))

    C#列出局域網(wǎng)中可用SQL Server服務(wù)器(續(xù))

    上一篇文章展示了使用COM對(duì)象如何列出局域網(wǎng)中的 SQL Server服務(wù)器信息,后來(lái)還發(fā)現(xiàn)在.Net中有現(xiàn)成的類可用,而不需要使用不太熟悉的COM對(duì)象了,這樣豈不是更好?下面我把代碼展示給大家:
    2008-04-04
  • .Net?Core微服務(wù)rpc框架GRPC通信基礎(chǔ)

    .Net?Core微服務(wù)rpc框架GRPC通信基礎(chǔ)

    這篇文章介紹了.Net?Core微服務(wù)rpc框架GRPC通信的基礎(chǔ)應(yīng)用,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • asp.net中MVC的處理流程詳解

    asp.net中MVC的處理流程詳解

    本文詳細(xì)講解了asp.net MVC的處理流程,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • .Net行為型設(shè)計(jì)模式之迭代器模式(Iterator)

    .Net行為型設(shè)計(jì)模式之迭代器模式(Iterator)

    這篇文章介紹了.Net行為型設(shè)計(jì)模式之迭代器模式(Iterator),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • .Net結(jié)構(gòu)型設(shè)計(jì)模式之組合模式(Composite)

    .Net結(jié)構(gòu)型設(shè)計(jì)模式之組合模式(Composite)

    這篇文章介紹了.Net結(jié)構(gòu)型設(shè)計(jì)模式之組合模式(Composite),文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論