C#/.Net Core4 C#에서 예외필터(ExceptionFilter) 기능 사용해보기 안녕하세요.오늘은 간단한 기능 한 가지만 소개해보려고 합니다. 바로 "예외 필터" 기능입니다. C# 6.0 부터 적용된 기능으로 예외를 조건을 걸어서 해당하는 것만 잡아낼 수 있는 기능입니다. 어떤 경우에 써야 잘 썼다는 얘기를 들을 수 있을지는 잘 모르겠지만, 적용 방법 자체는 매우 간단합니다. when 명령어와 조건만 명시하면 됩니다. 아주 간단한 테스트 코드를 한 번 보겠습니다. 입력값이 음수이거나 100 이상이면 예외를 발생시키는 코드입니다. when 뒤에 조건을 명시해주면서 케이스를 컨트롤 할 수 있습니다. - 음수일 경우에는 음수- 100보다 클 경우에는 100 이상은 입력불가라는 메시지- 100일 경우에는 FilteralbeException 예외가 발생했다는 메시지를 확인할 수 있습니.. 2024. 5. 5. Asp.Net Core에서 GetService 와 GetRequiredService 의 차이 안녕하세요. 오늘은 종종 사용하게 되는 GetService와 GetReuquiredService 의 차이에 대해서 알아보겠습니다. 주의) 이 함수들은 마이크로소프트 공식 페이지에서는 가능한 한 사용을 하지 말라고 되어있습니다. 대신 표준적인 생성자 주입을 사용하라고 되어있다는 점을 기억해주시면 좋겠습니다. 위의 두 함수는 Microsoft.Extensions.DependencyInjection 를 using 해서 사용할 수 있습니다. 기본적인 Asp.Net core의 DI (종속성 주입) 관련 함수입니다. 실제 어떤 클래스를 선언하게 해두면, 컨테이너를 관리하는 어떤 녀석들에게 등록이 되고 그것에서 찾아서 사용할 수 있습니다. 그 과정은 일반적으로는 생성자를 통해서 이루어집니다. .Net Core 에서는.. 2024. 4. 22. configurationBuilder() 에서 SetBasePath 찾을 수 없는 경우 .NET CORE 로 설정 정보 Configuration 파일을 가져오는데, 다른 프로젝트의 소스를 그대로 복사했다가 빌드가 안되는 이상현상을 발견해서 해당 내용을 공유합니다. 일반적으로 .NET CORE 에서는 설정 정보를 appsettings.json 파일을 이용해서 처리하는 것을 권장하고 있습니다. 그것을 불러올 때는 주로 IConfiguration , ConfigurationBuilder 등의 클래스를 이용하게 되는데요. 이번 케이스는 ConfigurationBuilder를 사용시에 파일의 기본 위치를 지정하는 SetBasePath 라는 함수를 찾지 못하는 경우가 있었습니다. 문제는 복사하기 이전, 이후 모두 동일한 코드를 사용했다는 것이고 참조하고 있는 패키지도 모두 동일했다는 점입니다. var.. 2024. 4. 9. EntitiyFramework Core CodeFirst 로 데이터베이스 생성하기 데이터베이스를 사용할 때 매번 코드에서 데이터를 정의하고, DBMS에서 데이터베이스를 생성하는 작업을 여러 번 하는 것은 상당히 불편한 작업입니다. 이번에는 간단하게 EntityFramework Core 에서 Code로만 소스를 작성하고 DB를 커맨드로 생성하는 방법을 공유드리려고 합니다. 완전히 Code에서 생성하는 방법을 택할 수도 있지만, 여기에서 소개하는 방법은 Code로 데이터베이스에 들어갈 테이블 / 컬럼 등을 작성한 후에 커맨드를 입력해서 데이터베이스를 생성하고, 실제 동작하는 코드 상에서 Create Table 하는 코드는 들어가 있지는 않은 방식입니다. 실제 이 포스팅에서 공유하는 데이터는 작성일 기준 최신 LTS 버전인 .NET 8.0 과 EF Core6를 Visual Studio를 사.. 2024. 4. 9. 이전 1 다음