から終了する私がタイトルで言うように、クライアントアプリケーションをオフにすると、そのサービス(クライアントアプリケーションと共に開始する)をどのように終了できますか?私は_serviceClient.CloseAsync()
を呼び出そうとしますが、IIS Expressにはまだサービスがあります。それで、私たちはそれを行う方法がありますか?IIS ExpressのWCFサービスをコード
更新: 私のサービスはカメラを処理し、クライアント側に画像をストリームします。したがって、サービスを終了しないと、IISから手動でオフにするまでカメラが保持されます。だから私は一緒に二面を消したい。
私は、アプリケーションからクローズアクションでリリースカメラ機能を処理しました。予期せぬことが起こると、コードが実行されないようにアプリがクラッシュします。
クライアントとサービスは2つの異なるものです。クライアントからサービスをシャットダウンできませんか?何も実行されておらず、リクエストを受け取っていない場合、クライアントからサービスをどのように起動しますか?実際の要件は何ですか?なぜあなたのサービスにこの機能を持たせたいのですか? –
IISでアイドルタイムアウトを設定すると、アイドル状態のサービスが長時間停止することがあります。クライアントに到達しようとすると自動的に再開されます。クライアントはサービスをシャットダウンできません。 – Fildor
更新後:サービスシャットダウンでこれを行うのは間違った方法です。 a)クライアントが積極的にストリーミングを停止できるようにAPIを作成します。 b)誰かがストリームを実際に聞いている場合はサーバで検出し、そうでない場合はストリームを停止します。たとえば、 "デッドマン"スイッチを使用することができます。私。クライアントはストリームを有効に保つためにハートビートを送信する必要があります。 – Fildor