EXE 또는 Windows 서비스로 배포된 독립 실행형 C# 웹 서비스를 만드는 것이 가능합니까?

StackOverflow https://stackoverflow.com/questions/1013896

문제

웹 서비스 요청을 처리할 수 있는 C# EXE 또는 Windows 서비스를 만드는 것이 가능합니까?분명히 일종의 내장형(아마도 제한적) 웹 서버가 EXE/서비스의 일부여야 합니다.EXE/서비스는 설치되는 IIS에 의존할 필요가 없습니다.바람직하게는 내장된 웹 서비스가 HTTPS/SSL 유형 연결을 처리할 수 있습니다.

시나리오는 다음과 같습니다.고객이 회사 컴퓨터에 소규모 에이전트(Windows 서비스)를 설치하려고 합니다.에이전트에는 두 가지 기본 작업이 있습니다.1) 시간이 지남에 따라 시스템을 모니터링하고 특정 데이터 조각을 수집하고 2) 데이터 수집 또는 시스템 변경 목적을 위해 웹 서비스 요청(SOAP -v- REST에 대해 여전히 논쟁 중임)에 응답합니다.고객은 회사 컴퓨터에서 실행되는 다양한 에이전트를 활용하기 위해 원하는 수의 클라이언트(모든 언어)를 작성할 수 있는 웹 서비스 API 아이디어를 좋아합니다.그들은 IIS를 설치하고 구성하지 않고도 설치가 상대적으로 간편하기를 원합니다(.NET, 일부 어셈블리, 서비스 설치, Windows 방화벽 수정, 서비스 시작).

나는 델파이로 이것을 할 수 있다는 것을 알고 있습니다.그러나 고객은 가능하면 C#에서 이 작업을 수행하는 것을 선호합니다.

어떤 제안이 있으십니까?

도움이 되었습니까?

해결책

예, 가능합니다. 한 번 확인해 보세요. WCF 그리고 셀프 호스팅.

다른 팁

예, 가능합니다(상당히 쉽습니다).

여기에는 CodeProject 기사 C#에서 기본 HTTP 서버를 만드는 방법을 보여줍니다.이는 독립 실행형 EXE 또는 서비스에 쉽게 배치되어 웹 서비스로 사용될 수 있습니다.

확인하고 싶은 기술 중 하나는 WCF입니다.WCF는 시작하기가 약간 어려울 수 있지만 매우 간단한 방식으로 WCF를 시작하는 방법을 보여주는 Keith Elder의 DNRTV 훌륭한 스크린캐스트가 있습니다.

http://www.dnrtv.com/default.aspx?showNum=135

당신은 살펴볼 수 있습니다 HttpListener .Net 프레임워크에서.

WCF를 적극 추천합니다.설명하신 제품과 아주 잘 어울릴 것 같습니다.좋은 숫자가 있습니다 서적 사용 가능.

물론이죠. 그렇게 할 수 있습니다.프로젝트의 출력 유형을 콘솔 애플리케이션으로 변경하십시오.그런 다음 Main 함수에 string[] 매개변수를 추가합니다.명령줄에서 받은 일부 스위치에서 ServiceBase.Run으로 분기하여 Windows 서비스로 실행하거나 다른 코드로 분기하여 콘솔 애플리케이션을 실행할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top