24장 ASP.NET Core 1.0 웹 응용 프로그램 프로젝트

24.1. 새로운 프로젝트 시스템 (더 새로워 져서…1.1 =_=)

로즐린(Roslyn)에 의하여 동적 컴파일이 가능하다. 수정 즉시 반영된다.

  • global.json – Core 1.1에서 변경됨
  • project.json – Core 1.1에서 변경됨
  • wwwroot – 웹 사이트의 root 폴더. 외부에서는 wwwroot에 올려진 파일들만 서비스가 된다.
  • Startup.cs – 응용프로그램의 시작점
  • appsettings.json – ASP.NET의 Web.config 파일과 동일한 기능으로, 환경 설정 파일. 주로 Startup.cs 에서 ConfigureServices() 메서드에서 사용되어 진다.
  • bundleconfig.json – Visual Studio의 확장도구인 Bundler & Minifier 에서 사용되어 진다. CSS 또는 javascript 파일을 축소하거나 합칠수 있다고 한다. 이러한 작업의 설정들이 이 파일에 저장된다.
  • 모던 웹 개발 도구들
    • NPM – Node.js 관련 패키지 매니저
    • Bower – CSS, javascript, Image, Font 등 정적인 파일 관련 패키지 매니저
    • Gulp – 태스크 러너. javascript 코드를 축소하거나 난독화 처리할때 사용

24.2. 실습 (뭐 없음…)

24.3. HTTP 파이프라인과 미들웨어

각종 미들웨어를 파이프라인에 등록해서 사용할 수 있다.

24.4. 정적 파일 실행을 위한 UseStaticFiles() 미들웨어 추가

wwwroot 폴더에 위치한 정적파일들을 실행하기 위한 미들웨어

IWebHostBuilder.UseContentRoot(Directory.GetCurrentDirectory())

이 메서드 호출로 인하여 wwwroot폴더가 루트폴더가 된다.

Startup.cs 파일의 Configure() 메서드에 IApplicationBuilder.UseStaticFiles()를 호출해야 한다.

IApplicationBuilder.UseFileServer()를 호출해도 된다. (좀 더 추가기능이 포함되어 있다.)

24.5. 실습

Microsoft.AspNetCore.StaticFiles 패키지가 설치되어 있는지 확인하려면 Visual Studio의 솔루션탐색기에서 해당 프로젝트의 Dependencies 하위 노드의 Nuget을 확인한다.
프로젝트면.csproj 파일을 텍스트편집기로 열어보면

<ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.2" />
</ItemGroup>

가 있는것을 확인할 수 있다.

별도의 경로에 정적파일을 위한 폴더를 추가하려면,

//app.UseStaticFiles();
app.UseStaticFiles(new StaticFileOptions
{
FileProvider = new PhysicalFileProvider(Path.Combine(Directory.GetCurrentDirectory(), "MyStaticFiles")),
RequestPath = new PathString("/StaticFiles"),
});
// 실제 디렉토리명은 'MyStaticFiles'이고, 웹 경로는 '/StaticFiles' 이다.

24.6. 주요 미들웨어

  • UseDirectoryBrowser() – 디렉터리 목록 보기
  • UseDefaultFiles() – 기본 문서 제공
  • UseStatusCodePages() – 상태 코드 표시
  • UseWelcomePage() – 환영 페이지 출력
  • UseDeveloperExceptionPage() – 자세한 에러 메시지 표시
  • UseFileServer() – UseDefaultFiles(), UseStaticFiles(), UseDirectoryBrowser() 기능 모두를 한번에 호출하는 메서드

 

. 참고자료

https://www.slideshare.net/SeongBaeHong/aspnet-core-78230249

– ASP.NET Korea Study Group

[embeddoc url=”http://192.168.10.240:8080/wp-content/uploads/2017/07/ASP.NET-Core-1.0-웹-응용-프로그램-프로젝트.pdf” download=”all”] – ASP.NET Korea Study Group, 안지오

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다