이 글에서는 주로 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!