나는 항상 실행중인 Windows 서비스가 있으며 15 분마다 조치가 필요합니다. 또한 서비스가 수행중인 작업에 대한 정보를 표시하는 클라이언트 WinForms 앱이 있습니다. 양식 응용 프로그램이 최신 상태로 업데이트되도록 유지하고 싶습니다. 그러나 매 초마다 폴링을 수행하면 성능이 현저한 지 확실하지 않습니다..net 클라이언트 응용 프로그램을 다른 응용 프로그램의 상태로 업데이트하는 가장 좋은 방법
- 가 시작 , 내 Windows 서비스가 (내 클라이언트 폼에서) 쿼리
- 모든 초를받을 수있는 WCF 명명 된 파이프를 엽니의의 WinForm에 타이머는 파이프에 쿼리를 전송 한 다음 결과를 표시 . 파이프가 없으면 서비스가 실행되고 있지 않음을 양식에 표시합니다.
이렇게하는 것이 가장 좋은 방법입니까? 내 서비스가 시작될 때 서비스가 열리면 항상 닫히지 않습니까 (서비스를 중지 할 때까지)? 서비스를 폴링하는 것 이외에도, 서비스가 시작 및 중지하는 것과 같은 특정 이벤트를보고있는 애플리케이션에 알리는 방법이있을 수 있습니다. 그렇게하면 이미 큰 이벤트에 대해 이미 알고있을 것이므로 진행률을 폴링 할 뿐이므로 폴링을 적게 할 수 있습니다.
내가 누락 된 항목이 있습니까?
폴링이 지저분하고 부담스러워 보였고 내 WCF 폴링 호출의 일부가 어쨌든 시간 초과되어 클라이언트 응용 프로그램에 문제가 발생하기를 바랍니다. 이 방향으로 나를 가리켜 주셔서 감사합니다 - 나는 그의 예를 확인하고 그것이 나의 필요를 충족시키는 지 볼 것입니다. – SqlRyan