ASP.NET Core
-
[ASP.NET Core] 세상 간편해진 Video/Audio Streaming.NET/ASP.NET Core 2021. 4. 21. 22:36
예전에 개선된 다운로드 예제를 작성하면서 확인하게된 EnableRangeProcessing 옵션을 테스트해보고자 코드 몇 줄 끄적였다. true로 설정한 채 mp4, mp3 같은 미디어 파일을 반환하면 자동으로 스트리밍 처리가 된다는 것이다. 테스트를 위해 mvc프로젝트를 생성하고 간단한 StreamingController 를 생성해보았다. StreamingController.cs using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; namespace StreamingEx..
-
[ASP.NET Core] 개선된 다운로드 예제(feat. ASP.NET을 쓰지 말아야할 이유 1 Stack 추가).NET/ASP.NET Core 2021. 4. 15. 23:02
예전에 ASP.NET Core로 일반적인 파일 다운로드 기능 구현 예제를 만든적이 있었다. (ddochea.tistory.com/76) 해당 예제에선 파일을 다운로드할 때 byte[] 버퍼에 담아 전달하도록 작성했었는데, 그 이유는 크기가 큰 파일을 전달할때 생기는 메모리 사용 문제점, 그리고 이를 해결하기위한 스트리밍 방법인 "HTTP range requests" 예제를 구현하고 비교하는 포스트를 작성하기 위한 일종의 큰 그림(?) 이었다. "HTTP range requests"에 관한 정보는 아래 링크에서 확인할 수 있다. developer.mozilla.org/ko/docs/Web/HTTP/Range_requests HTTP range requests - HTTP | MDN HTTP range re..
-
[ASP.NET Core] HTTP Cache-Control Header 를 이용한 Get 응답(Response) 캐싱 및 파일 다운로드 예제.NET/ASP.NET Core 2021. 4. 12. 22:34
운영중인 웹 서비스에 대한 수정요청이 있어 작업하던 도중 파일 다운로드기능에 캐싱이 필요하여 응답 캐싱이 가능하도록 작업했다. 사실 사용자 수가 많지 않은 내부서비스라 딱히 적용안해도 되긴 하지만 돈(?) 안되는 트래픽은 줄일 수 있으면 줄이는 습관을 가지는게 좋은지라 적용했다. 적용자체도 그리 어렵지 않다. 1. Startup.cs에 AddResponseCaching() 및 UseResponseCaching() 적용 Startup.cs 에 services.AddResponseCaching()과 app.UseResponseCaching() 함수를 이용하여 캐싱 기능을 적용한다. using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting;..
-
[VSCode] WSL Ubuntu에서 ASP.NET Core 개발환경 세팅.NET/개발환경 및 Tools 2021. 2. 21. 13:41
재미삼아 WSL Ubuntu 기반에 .NET 개발환경을 구축해보았다. 1. .NET 설치 WSL Ubuntu 에서 .NET을 설치한다. 설치는 .MS 공식문서에 잘 나와있다. docs.microsoft.com/ko-kr/dotnet/core/install/linux-ubuntu#2004- Ubuntu에 .NET 설치 - .NET Ubuntu에 .NET SDK 및 .NET 런타임을 설치하는 다양한 방법을 보여 줍니다. docs.microsoft.com 설치가 완료되면 dotnet --version 명령어로 확인할 수 있다. 2. ASP.NET 프로젝트 생성 명령어로 ASP.NET 프로젝트를 생성한다. 예시의 명령어는 react를 웹 클라이언트 프로젝트가 포함된 webAPI 생성 명령어이다. 프로젝트는 "A..
-
[ASP.NET Core] axios 로 Array 형식의 파라메터를 전달하는 Get 메소드 사용시 유의사항.NET/ASP.NET Core 2021. 1. 21. 21:53
회사에서 WebAPI + Vue 조합으로 사내 서비스를 개발하던 중, Get 형식으로 javascript array 형식의 파라메터를 전달할 때 파라메터를 제대로 인식하지 못해 애먹었던 일이 있었다. 다른 파라메터는 잘 되는데 유독 배열만 값이 전달되지 않아 브라우저의 개발툴>Network 에서 전달되는 URL의 형식을 확인하게 되었다. URL 전체주소는 아래와 같다. http://localhost:8080/api/values?numbers[]=1&numbers[]=2&numbers[]=3&numbers[]=4&numbers[]=5 확인결과 파라메터 이름에 "[]"가 붙어서 전달되었기 때문에, 소스코드에서 "numbers" 란 이름으로 매칭되어야 하는 서버측 코드에선 인식이 안되었던 것이다. 수정 전 소..
-
[ASP.NET Core] WebAPI 일반적인 파일업로드 기능 구현 예제.NET/ASP.NET Core 2021. 1. 17. 15:03
아래예제는 웹 서비스에서 파일업로드 예제이다. 전체소스코드는 아래 링크를 찾아가자 https://github.com/ddochea0314/DotNETExamples/tree/main/Web/File/BasicUpload ddochea0314/DotNETExamples .NET 관련 프로젝트를 진행하면서 유용했거나 삽질했던 코드등을 정리하기위한 Repo. Contribute to ddochea0314/DotNETExamples development by creating an account on GitHub. github.com using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collectio..
-
[ASP.NET Core] WebAPI 일반적인 파일다운로드 기능 구현 예제.NET/ASP.NET Core 2021. 1. 16. 13:57
ASP.NET Core는 해당 포스트의 예제보다 더 간략한 방법으로 안정적인 다운로드 기능을 구현할 수 있습니다. https://ddochea.tistory.com/134 를 참조해주세요. 아래 예제는 웹서비스 내 "Download" 폴더에 저장되어있는 파일을 다운로드 받게 해주는 WebAPI 소스코드의 일부이다. 전체소스코드는 아래 링크를 찾아가자. https://github.com/ddochea0314/DotNETExamples/tree/main/Web/File/BasicDownload ddochea0314/DotNETExamples .NET 관련 프로젝트를 진행하면서 유용했거나 삽질했던 코드등을 정리하기위한 Repo. Contribute to ddochea0314/DotNETExamples deve..
-
[IIS] IIS는 URL인코딩에서 "+" 와 공란을 구분하지 못한다.서버 관리/Windows 2021. 1. 16. 00:06
웹 개발을 하는사람들은 한번쯤 고생해보는 통과의례가 있다. URL인코딩. 문자열을 %코드로 바꾸기 때문에 퍼센트인코딩이라고도 불린다. https://ko.wikipedia.org/wiki/%ED%8D%BC%EC%84%BC%ED%8A%B8_%EC%9D%B8%EC%BD%94%EB%94%A9 퍼센트 인코딩 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 퍼센트 인코딩(percent-encoding)은 URL에 문자를 표현하는 문자 인코딩 방법이다. 이 방법에 따르면 알파벳이나 숫자 등 몇몇 문자를 제외한 값은 옥텟 단위로 묶어 ko.wikipedia.org 웹 통신은 크게 GET, POST 2가지가 존재한다. PUT, DELETE, PATCH도 있긴하지만 데이터를 URL을 통해 통신하는가..