내가 제목에서 말한 것과 마찬가지로 클라이언트 응용 프로그램을 끄면 어떻게 그 서비스 (클라이언트 응용 프로그램과 함께 시작)를 종료 할 수 있습니까? 나는 _serviceClient.CloseAsync()
하지만 IIS Express에는 여전히 서비스를 호출하려고합니다. 그래서 우리는 그것을 할 어떤 방법이 있습니까?코드에서 IIS Express에서 WCF 서비스를 종료
업데이트 : 내 서비스는 카메라를 처리하고 이미지를 클라이언트 측으로 스트리밍합니다. 따라서 서비스를 종료하지 않으면 IIS에서 수동으로 해제 할 때까지 카메라가 대기합니다. 그래서 저는 두면을 서로 없애고 싶습니다.
나는 앱에서 클로즈 액션으로 릴리즈 카메라 기능을 처리했습니다. 하지만 예상치 못한 경우 앱이 추락하여 코드가 실행되지 않습니다.
클라이언트와 서비스는 서로 다른 두 가지입니다. 클라이언트에서 서비스를 종료 할 수 없습니까? 클라이언트가 전혀 실행되지 않고 요청을 처리하지 않는 경우 어떻게 클라이언트에서 서비스를 시작합니까? 실제 요구 사항은 무엇입니까? 왜 당신의 서비스에이 기능을 갖고 싶습니까? –
너무 오래 유휴 상태 인 경우 IIS에서 유휴 시간 제한을 설정하여 서비스를 "일시 중단"할 수 있습니다. 일부 클라이언트가 연결하려고하면 자동으로 다시 시작됩니다. 어떤 클라이언트도 서비스를 종료 할 수 없어야합니다. – Fildor
업데이트 후 : 서비스 종료를 통해이 작업을 수행하는 것은 잘못된 방법입니다. a) 클라이언트가 스트리밍을 능동적으로 중지 할 수 있도록 API를 작성하십시오. b) 누군가가 실제로 스트림을 듣고 있지 않다면 서버에서이를 감지하고 중지합니다. 예를 들어 "dead-man"스위치를 사용할 수 있습니다. 나는. 클라이언트는 스트림을 유지하기 위해 하트 비트를 전송해야합니다. – Fildor