>  기사  >  백엔드 개발  >  ASP.NET Core의 새로운 기능 - 환경 변수 및 시작 설정

ASP.NET Core의 새로운 기능 - 환경 변수 및 시작 설정

零下一度
零下一度원래의
2017-07-09 11:51:113364검색

이 글에서는 주로 ASP.NET 핵심 환경 변수 및 시작 설정에 대한 구성 튜토리얼을 소개합니다. 관심 있는 친구들이 참고할 수 있습니다.

이 부분에서는 ASP의 새로운 기능에 대해 논의하겠습니다. .NET Core: 개발 프로세스 중에 디버깅 및 테스트를 더 쉽게 해주는 환경 변수 및 시작 설정입니다. 개발, 미리보기, 프로덕션 환경 간 전환을 달성하려면 구성 파일만 수정하면 됩니다.

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에는 프로젝트의 "Properties" 폴더에서 찾을 수 있는 새로운 파일 launchSettings.json이 포함되어 있습니다.

이 파일은 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"
 }
 }
 }
}

다른 속성에 대한 자세한 내용을 보려면 http://json.schemastore.org/launchsettings 링크로 이동하세요.

환경 태그

이 태그를 통해 애플리케이션은 현재 실행 환경에 따라 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>

이 예에서는 개발 모드에서 애플리케이션을 실행할 때 로컬 부트스트랩 파일과 사용자 정의 CSS 파일을 사용합니다. 프로덕션 환경에서는 ASP.NET CDN(Content Delivery Network)에서 파일 복사본과 압축된 사용자 지정 스타일을 사용합니다. 이러한 방식으로 우리는 애플리케이션의 성능을 향상시킬 수 있습니다.

요약

ASP.NET Core에서 개발자는 환경 변수를 사용하여 다양한 환경에서 애플리케이션의 동작을 쉽게 제어할 수 있습니다. 이러한 기능을 사용하여 다음 기능을 완성합니다.

  • 사용자 정의 환경 생성 및 사용

  • 애플리케이션이 실행되는 환경에 따라 일부 애플리케이션 기능을 활성화 또는 비활성화합니다.

  • 환경 태그를 사용하여 현재 환경 보기에서 MVC를 수정합니다.

위 내용은 ASP.NET Core의 새로운 기능 - 환경 변수 및 시작 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.