.NET7 “Uncaught SyntaxError: Cannot use import statement outside a module” ASP.NET Core 를 다시금 접하면서 여러 문제 상황에 부딪히고 있지만 괜찮습니다. 이런 어려움을 겪어야 문제해결 시 따라오는 성취감의 중독이랄까 ? 동일한 문제로 고민하고 있는 누구한테는 너차럼 1시간을 버리지 않길 바라는 마음에 글을 올립니다. 나는 1시간을 정답을 찾아 헤매었으나 그 누구한테는 이 페이지가 검색만 된다면 몇초내로 답을 줄 수 있으니.. 물론 좀 같은 고생을 해봐야 기억이 날테지만 차라리 그 시간에 다른 공부를 하는데 시간을 쏟길 바라는 마음에.. Javascript 모듈화에 늘 관심이 있었는데 하도 방법이 다양해서 어느것이 가장 유지보수 시 편의성을 높이고 확장 가능한 방법인지를 중점에 두고 선택 하고자 하였습니다. 하지만 정답을 찾는데는 그리 오랜 시간이 걸리진 않았고 현재 .. 2023. 12. 10. ASP.NET Core / cshtml 파일 수정 후 재빌드 ? ASP.NET Core 를 다시금 만져보면서 매우 귀찮은 일이 있었다. 바로 프론트 페이지 영역에 해당되는 .cshtml 파일인데 글자 하나를 수정하고 Visual Studio 를 재 빌드 해야 반영되는 사항이였다. 그래서 약자가 C(Compile) S(Shit) HTML 인가 ? (농담이에요) 에이 설마 이걸 정말 계속 해야되는 걸까 ? 라는 의문이 들었고 결국에 구글에 검색을 해보고나서야 무릎을 탁 치게 되었다. 역시 나같은 불편함을 느끼는 사람이 한둘을 아니였나 봅니다. 해결방법 NuGet 패키지 관리에서 Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation 를 설치 Start.cs의 ConfigureServices 안에 다음과 같이 추가 기존 코드 builder.. 2023. 12. 7. Enum 형을 JSON 응답으로 String 으로 표시하고자 할때.. Web API 를 만든후 아래와 같은 클래스로 응답을 지정했더니 Enum 형이 숫자로 표기되는 문제가 발생하였다. 원하는 방법은 Enum 형에 지정된 값이 아닌 명이 표시되길 원했던 것이다. 응답 클래스 public class ResponseModel { public ResponseModel(ResponseState rs) { this.State = rs; } public ResponseModel() { } public ResponseState State { get; set; } public Object Result { get; set; } } public enum ResponseState { success, failure } 응답 결과 { "state": 1, "result": { "accessToke.. 2023. 12. 4. Log4net 설정 로그 작성 시나리오가 아래와 동일 한 경우 아래 설정을 그래도 이용 또는 수정 하여 사용하시면 됩니다. 에러로그와 일반로그 파일의 분리 필요 일자별로 로그파일이 생기도록 분리 필요 로그파일명이 log_{yyyyMMdd}.log 형태로 저장되길 희망 2023. 12. 4. 리눅스에서 서비스 만들기 리눅스 시스템에서 서비스 형태의 데몬이나 콘솔 프로그램을 제작하기 위해서는 C, C++, JAVA 등 만이 고려 대상이였으나 .NET 이 리눅스를 지원하게됨에 따라 이제는 C# 이라는 언어를 알고 있다면 리눅스에서 동작 가능한 데몬, 웹어플리케이션을 개발해 적용할 수 있게 되었습니다. 물론 .NET 이 리눅스를 지원하게 된지는 꽤 오래되었으나 안정성이라던지 적용방법의 러닝커브 등이 예상되어 시도해보지는 않았습니다. 하지만 업무적으로 리눅스용 서비스 데몬의 개발이 필요해 정보를 수집하는 중 이제는 .NET 이 MSDN 에 설명된 내용만으로 쉽게 설치 및 개발이 가능해진것으로 보고 깜짝 놀라지 않을 수 없었습니다. 특히 MSDN 은 그간 영문 자료를 번역기로 돌린 듯한 설명으로 인해 있으나 마나한 이미지였고.. 2023. 12. 3. SmartSql 사용법 .NET 에서 JAVA 에서 일반적으로 사용하는 MyBatis 와 유사한 프레임워크를 찾아보다가 MyBatis.NET 을 검색해 알게 되었지만 2010년 이후로 더이상 릴리즈되고 있지 않았고 상위 .NET Framework 를 지원할지 여부가 불투명 하여 다른 대체군을 찾게 되었다. MyBatis.NET https://code.google.com/archive/p/mybatisnet/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com 여러 대체군들을 검색해 내용을 확인해 봤으나 사용 난이도와 가능하면 MyBatis 와 유사한 패턴을 찾다 보니 SmartSql 이이라는 라이브러리로 .. 2023. 12. 3. [Content-Type] x-www-form-urlencoded 을 지원하는 API ASP.NET Web API 는 POST 의 경우 기본적으로 application/json 의 Content-Type 을 지원하도록 설정되어 있다. 이것을 x-www-form-urlencoded 의 Content-Type 을 지원하는 API 로 변경하기 위해서는 아래와 같은 Attribute 를 사용하여 처리할 수 있습니다, [HttpPost("GetAccessToken")] [Consumes("application/x-www-form-urlencoded")] public ResponseModel GetAccessToken([FromForm] Authentication authModel) { ... } 여기에서 중요한 부분은 [Consumes("application/x-www-form-urlencoded.. 2023. 12. 3. 이전 1 다음