.NET/ASP.NET

    [ASP.NET Core] IIS 호스팅

    [ASP.NET Core] IIS 호스팅

    IIS에서 다음과 같은 설정으로 응용프로그램풀을 추가합니다. 아래 주소에서 ASP.NET Core Runtime을 내려 받습니다. 2021.03월 현재 최신버전은 5.0인데 하위 Core 3.1을 배포하는 경우라도 상관없습니다. Download ASP.NET Core 5.0 Runtime (v5.0.4) - Windows Hosting Bundle Installer (microsoft.com) Download ASP.NET Core 5.0 Runtime (v5.0.4) - Windows Hosting Bundle Installer Supported on Windows, Linux, and macOS Get Started dotnet.microsoft.com IIS에서 웹사이트를 추가합니다. 프로젝트가 배..

    [ASP.NET Core Web API] Action Method - 응답

    [ASP.NET Core Web API] Action Method - 응답

    Controller 내부에 요청을 받는 Action Method는 처리결과에 따라 다양한 응답을 반환할 수 있으며 이에 관한 대략적인 내용을 살펴보고자 합니다. 액션 메서드에서 특정 상태 값을 반환하려면 우선 반환형 식이 IActionResult로 지정되어 있어야 합니다. [HttpGet] public IActionResult Get() { } 정상적으로 어떤 처리가 완료되었다면 기본적으로 200 OK 상태를 반환할 수 있습니다. [HttpGet] public IActionResult Get() { return Ok(); } 참고로 OK() 메서드 뿐만 아니라 아래에 설명되는 거의 모든 메서드는 단독으로 응답을 하거나 필요한 경우 문자열, 객체 등을 전달해 상태 응답과 함께 위에 보시는 것처럼 구체적인 ..

    [ASP.NET Core Web API] CORS

    .NET Core Web API 에서 CORS를 허용하려면 startup.cs의 Configure() 메서드를 다음과 같이 수정합니다. app.UseCors(options => options.AllowAnyOrigin()); ... app.UseMvc(); 특정 URL에 대한 적용은 WithOrigins() 메서드를 사용합니다. app.UseCors(options => options.WithOrigins("http://---")); 또한 GET이나 POST에 한정적으로 CORS를 적용하는건 WithMethods() 로 설정할 수 있습니다. app.UseCors(options => options.AllowAnyOrigins().WithMethods("GET"));

    [ASP.NET Core Web API] Action Method - 요청

    [ASP.NET Core Web API] Action Method - 요청

    해당 글은 아래 글에서 이어집니다. [.NET/ASP.NET] - [ASP.NET Core Web API] 프로젝트및 Controller 생성 [ASP.NET Core Web API] 프로젝트및 Controller 생성 1. 프로젝트 Web API 기본사항에 대해 알아보기 위한 간단한 테스트 프로젝트를 만들어 봅니다. Visual Studio(2019)에서 프로젝트를 오른쪽 항목에서 'ASP.NET Core Web API (C#)'프로젝트로 선택하고 'Next'버 lab.cliel.com 다음은 예제로 작성된 액션 메서드입니다. [HttpGet] public string Get() { return "hello"; } 예제에서 작성된 Get() 메서드는 HttpGet 어트리뷰트에 따라 클라이언트의 Get요..

    [ASP.NET Core Web API] 프로젝트및 Controller 생성

    [ASP.NET Core Web API] 프로젝트및 Controller 생성

    1. 프로젝트 Web API 기본사항에 대해 알아보기 위한 간단한 테스트 프로젝트를 만들어 봅니다. Visual Studio(2019)에서 프로젝트를 오른쪽 항목에서 'ASP.NET Core Web API (C#)'프로젝트로 선택하고 'Next'버튼을 눌러줍니다. 원하는 프로젝트의 폴더위치와 프로젝트 이름을 설정합니다. 버전은 Core 3.1로 하며 Authentication Type은 'None'으로 설정합니다. 프로젝트가 생성되면 WeatherForecast.cs 파일과 Controller에 WeatherForecastController.cs 파일이 있을 텐데 해당 파일을 삭제하고 Controllers에서 마우스 오른쪽 버튼을 눌러 Add -> Controller를 선택해 줍니다. 참고로 새로 생성할..

    [ASP.NET Core Web API] Swagger와 API 명세

    [ASP.NET Core Web API] Swagger와 API 명세

    백엔드에서 API를 만들고 나면 프런트엔드에서 이를 활용하기 위해 어떤 방법으로 필요한 데이터를 전송하고 받을지에 대한 설명서가 필요합니다. 이를 API명세라고도 하며 Swagger를 사용하면 API명세가 담긴 UI를 손쉽게 생성할 수 있고 테스트도 가능합니다. Swagger를 사용하기 위해서는 우선 NuGet Package에서 'Swashbuckle.AspNetCore'를 검색해 해당 Package를 설치해 줍니다. 그리고 startup.cs에서 ConfigureServices() 메서드에서 다음과 같이 API 문서의 제목과 버전 정보 등을 등록합니다. services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "myapi", ..

    [ASP.NET Core Web API] 파일업로드(FileUpload)

    [ASP.NET Core Web API] 파일업로드(FileUpload)

    파일 업로드 API가 들어갈 컨트롤러가 Home이라는 가정하에 다음과 같이 생성자를 추가합니다. private readonly IWebHostEnvironment _environment; public HomeController(IWebHostEnvironment enviroment) { _environment = enviroment; } IWebHostEnvironment 인터페이스로부터 받는 WebHostEnvironment 객체는 현재 root 폴더의 경로를 알 수 있도록 하며 이를 기준으로 업로드할 폴더를 찾아들어갈 것입니다. 주의할 점은 ASP.NET Core로 순수 Web API 프로젝트를 만들게 되면 wwwroot폴더는 프로젝트에 포함되지 않을 수 있는데 이런 경우 생성자로부터 받는 envir..

    [ASP.NET Core Web API] DI (Dependency Injection) 구현 (Autofac)

    시작하기 전 NuGet Package에서 Autofac과 Autofac.Extensions.DependencyInjection 패키지를 검색해 내려받고 설치합니다. 패키지 설치가 완료되면 우선 DI를 적용할 대상 인터페이스를 작성합니다. public interface IRepository { dbContext Data(); } 위 인터페이스는 dbContext를 반환하는 Data() 메서드를 선언하고 있으며 해당 인터페이스를 상속받아 인터페이스에서 정의한 메서드를 구현합니다. public class Repository : IRepository { public dbContext Data() { return new dbContext(); } } 작성된 클래스는 데이터베이스의 Entity 객체를 반환하는 클래..