본문 바로가기

분류 전체보기76

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.
윈도우에서 프로그램 설치 없이 서버 통신 가능 여부 확인하기 안녕하세요. 통신 테스트를 위해서 일반적으로 telnet, tcpping 등의 프로그램을 설치하신 후에 작업을 하시는 것으로 알고 있습니다. 다만 그럴 경우에 각종 프로그램을 찾아서 다운 받거나, 설치하는 과정이 추가로 필요하고 상당히 응답 데이터가 부실해서 방화벽에서 포트가 제대로 오픈이 되어있는지 확인하기가 어려운 경우들이 종종 있습니다. 그럴 때 쓸 수 있는 한 가지 방법을 소개해드립니다. 방법은 매우 간단합니다. 최근 사양의 윈도우에는 windows powershell 에 해당 기능이 이미 포함되어 있습니다. Test-NetConnection -ComputerName -Port -InformationLevel "Detailed" - IP호출 또는 Domain명 호출이 모두 가능합니다. - Port.. 2024. 4. 18.
configurationBuilder() 에서 SetBasePath 찾을 수 없는 경우 .NET CORE 로 설정 정보 Configuration 파일을 가져오는데, 다른 프로젝트의 소스를 그대로 복사했다가 빌드가 안되는 이상현상을 발견해서 해당 내용을 공유합니다. 일반적으로 .NET CORE 에서는 설정 정보를 appsettings.json 파일을 이용해서 처리하는 것을 권장하고 있습니다. 그것을 불러올 때는 주로 IConfiguration , ConfigurationBuilder 등의 클래스를 이용하게 되는데요. 이번 케이스는 ConfigurationBuilder를 사용시에 파일의 기본 위치를 지정하는 SetBasePath 라는 함수를 찾지 못하는 경우가 있었습니다. 문제는 복사하기 이전, 이후 모두 동일한 코드를 사용했다는 것이고 참조하고 있는 패키지도 모두 동일했다는 점입니다. var.. 2024. 4. 9.