-
[ASP.NET Core] 배포환경에서 File Download 기능에 An unhandled exception has occurred while executing the request. 오류 발생하는 현상.NET/개념 및 유용한 팁 2021. 1. 15. 22:49반응형
IIS에서 배포한 웹서비스에서 파일을 다운로드하는 기능이 "An unhandled exception has occurred while executing the request." 오류메시지만을 띄운 채 동작하지 않는 문제가 있었다. 개발PC의 IIS, 개발PC의 Kestrel, 배포환경의 Kestrel 모두 다운로드가 정상동작했지만, 배포환경에서의 IIS만 다운로드 기능이 동작하지 않았다.
이전에 작성했던 상세오류를 보는 방법을 통해 원인을 찾으려 했지만, 뭐가 문제인지 Development로 실행시키면 동작하지 않는 문제가 있었다.
https://ddochea.tistory.com/73
더 이상한건 초반엔 잘되던 기능이 테스트와 배포를 반복하면서 안되게 된것이다.
그것도 다운로드 기능은 수정한 적 없는상태에서.기능테스트는 오후4~5시때부터 모두 완료된 상태인데 다운로드기능 하나 때문에 밤9시까지 야근 했다.
원인은 의외로 간단한곳에 있었다.
권한문제였다.IIS는 웹서비스 구축시 별도의 설정과정이 없다면 사이트명과 동일한 이름의 계정으로 생성되어 서비스가 동작한다.
그런데 이 TEST계정은 서버의 로그인계정 권한과는 다른 "Users" 권한에 종속되어 있다. 그렇기 때문에 서버에 원격접속해서 실행한 Kestrel 방식으론 다운로드가 정상동작했던 것이고, IIS로는 동작을 안했던 것이다.
다운로드가 가능하게 하려면 웹 서비스 내 다운로드 폴더에 "쓰기"권한을 추가해줘야 한다. TEST 계정만 설정이 안되므로 Users에 설정했다.
초반에 다운로드가 되었던건 해당 웹 서비스 구축 직후에 무의식적으로 쓰기 권한을 설정했었기 때문이고, 업데이트할때마다 덮어씌웠었기 때문에 계속 문제가 없었던 것이다. 그랬다가 기존 서비스를 보관한 폴더명을 바꾸고 새로 배포한 채로 설정을 잊었던 것이다.
첫 회사 다닐때 ASP.NET 으로 웹 개발하면서 한번 데인적 있던 건데 기억은 안나고 습관만 남았던 것 같다.
습관이 무섭다.
반응형'.NET > 개념 및 유용한 팁' 카테고리의 다른 글
[.NET] AppContext.BaseDirectory 와 Environment.CurrentDirectory 위치 차이점 및 유의사항 (0) 2021.02.01 [.NET] 간략한 메일(Mail)발송 프로그램 예제 (0) 2021.01.19 [ASP.NET Core] "An error occurred while starting the application." 떴을 때 상세 오류 확인방법 (0) 2021.01.09 [Entity Framework] MySQL 에서 Entity Framework 사용 (0) 2020.03.16 [Async/Await] Invoke보다 간편하게 UI 접근하기 (2) 2019.12.19