본문 바로가기
반응형

전체 글98

[C#,.NET CORE]WSDL 내부의 XSD데이터 구조를 가져오지 못하는 경우 해결법 문제Visual Studio의 GUI에서 SOAP서비스를 추가하는 경우 WSDL의 내부의 XSD 데이터 구조를 자동으로 Class로 생성해준다. 하지만 vscode 등에서 cli 환경으로 서비스를 추가할 때, 내부의 xsd는 가져오지 못하는 경우가 발생한다. 해결방법1. wsdl 파일 생성브라우저에서 wsdl 페이지로 이동 한 뒤, XML내용 본문을 복사하여 .WSDL파일로 프로젝트에 저장한다.2. xsd 파일 생성XSD파일이 로컬에 있으면 로컬 파일을 프로젝트에 옮겨주고, 없으면 WSDL을 브라우저에서 "{WSDL주소}?schema={XSD이름}"으로 접속한다.EX) "http://{IP}:{PORT}//*/*.asmx?schema={abcData}"브라우저에 접속하면 xsd에 해당하는 데이터 구조를 .. 2025. 11. 4.
.NET CORE 백엔드 개발 (4) - Service간 참조 서비스 참조클린 아키텍처를 적용하며 가장 헷갈렸던 부분 중 하나가 service간 참조가되는 상황에서의 코드 작성이다. 외부와 연결이 되지 않아 Repository로 만들수는 없고, 이미 다른 서비스에 구현되어 있는 코드를 다시 새로운 서비스에 구현하는 것도 비효율적인 것 같았다. 구글링을 해보니 Spring에서는 이런 경우 컨트롤러에서 각 서비스들을 호출서비스들을 호출하는 UseCase 활용 / 상위 Service를 만들어 통합이 가장 많이 고려되는 방법이었다. 하지만 컨트롤러에서 각 서비스들을 호출하는 방법은 clean architecture의 철학과 맞지 않다고 생각된다. Controller에서 여러 Service를 호출하게 되면, 여러 서비스 호출 시 한 서비스에서 오류가 발생 했을 때, 다른 서.. 2025. 10. 24.
.NET CORE 백엔드 개발 (3) - 에러 핸들링 에러 핸들링 애플리케이션을 운영하다 보면 예외(Exception)는 피할 수 없다. 단순한 에러부터 비즈니스 로직에 따른 예외까지, 예외가 발생했을 때 이를 일관된 방식으로 처리하지 않으면 유지보수성, 사용자 경험, 보안 측면에서 모두 문제가 생긴다.특히 Clean Architecture에서는 Application, Domain, Infrastructure 등 레이어가 나뉘어 있기 때문에, 예외 처리 로직을 각 레이어에 흩뿌려두는 것은 적합하지 않다.따라서 전역(Global) 에러 핸들링 미들웨어를 통해 예외를 한 곳에서 모아 관리하는 것이 효율적일 것이다. 글로벌 에러 핸들링의 필요성일관성: 클라이언트는 항상 정해진 포맷으로 에러 응답을 받을 수 있음.보안성: 스택 트레이스나 내부 DB 정보가 그대로 .. 2025. 10. 5.
.NET CORE 백엔드 개발 (2) - 로그 시스템 만들기 로그 시스템 만들기 백엔드 개발에서 로그(logging)는 단순한 기록이 아니라, 시스템을 운영하고 개선하는 핵심 도구이다. 로그를 통해 얻을 수 있는 효과는 다음과 같다.1. 문제 진단 및 디버깅운영 환경에서 발생하는 버그나 장애는 재현하기 어렵다. 이때 로그는 발생 시점의 맥락을 알려주는 단서가 된다.어떤 요청에서 오류가 발생했는지어떤 입력 값이 들어왔는지어느 지점에서 예외가 던져졌는지이러한 기록을 통해 빠르게 원인을 파악하고 문제를 해결할 수 있다.2. 성능 모니터링로그는 단순히 에러 추적용으로만 쓰이지 않고 다음의 역할도 할 수 있다.요청 처리 시간DB 쿼리 실행 시간API 호출 빈도이 같은 데이터를 통해 병목 구간을 찾고 성능 최적화 포인트를 식별할 수 있다. 3. 운영 효율성 및 간접업무 지원.. 2025. 10. 3.
반응형