winform 또는 .net core 로 rest api 서버 만들었을 때 비교,..

winform 으로 api 서버 만들기

위 링크는 winform 으로 rest api 서버를 만드는 내용인데요.

만약 저렇게 winform 으로 api 서버를 만들면, .net core 로 만들고나서 iis에 서버를 돌릴때와 똑같은 효과를 보는게 맞나요??

그리고 winform 과 .net core로 api 서버 만들때 장단점이 있을지 궁금합니다…

2개의 좋아요

HttpListener 클래스는 단순히
http 리퀘스트를 수신 받고 리스폰스 해주는 역할을 제공할 뿐 입니다.

url 라우트, 요청 파라메터의 자동 바인딩
get / post / delete 등 여러 메서드 분석 등

처리는 개발자의 역량에 따라 직접 구현하셔야 합니다.


반면 asp net core web api 로 rest api를 구축 한다면
위에서 말한 기능 뿐 아니라 여러 지원이 기본적으로 지원되기 때문에 더 빠르고 안정성 있게 구축이 가능 합니다.

UI가 필요하고 단순한 http의 요청 및 응답으로 처리 하는 경우 HttpListener 클래스를 이용하는 것도 하나의 방법이지만

저라면 asp.net core 프레임워크를 이용 할 것 같네요.

4개의 좋아요

답변 감사합니다!!

2개의 좋아요

몇 가지 포인트를 짚으면 좋겠습니다.

  • Windows Forms는 닷넷 프레임워크와 닷넷 코어에서 모두 사용이 가능한 "클라이언트 애플리케이션 기술"입니다.
    • Win32 애플리케이션 특성 상, 단일 스레드에서 끊임없이 시스템으로부터 윈도우 메시지를 받아서 처리하는 루프를 타기 때문에, 서버를 구현하는 기능과는 전혀 관련이 없습니다.
    • 유저 영역에서 실행되는 애플리케이션의 자원 배분 우선 순위는 "사용자와의 상호 작용 응답 속도"에 더 가중치를 높게 두고 있으므로, IIS에서 서버를 돌릴 때와는 달리 서버의 성능에 차이가 발생할 수 있습니다. (가중치 외에도 다양한 요소들에서 성능 차가 많이 납니다.)
    • Windows Forms 애플리케이션에서 REST API 서버를 만들 때는 IIS Express처럼 사용자가 데스크톱에 로그인해서 목적을 위해 서버를 띄우고, 목적을 달성하면 서버를 닫는 형태로 구현하는 형태로 만드는 것이 적절합니다.
  • 많은 동시 접속자를 처리하고, 중단없는 서비스를 구현하려면 닷넷 코어로 서버를 구현하는 것 말고도, 다양한 고려 사항을 확인하셔야 합니다. 고성능 서버 개발, 데브옵스 등의 주제를 살펴보시는 것이 좋을 것 같습니다.
2개의 좋아요