0

WCF サービスであるサーバーと対話するクライアント アプリケーションがあります。そして、私には問題があります。次のようなコマンドを使用して、コマンドライン経由でサービスを起動します。

start WcfSvcHost.exe /service:SodisWebServer.dll /config:SodisWebServer.dll.config

トレイにはWCFSvcHost.exeのアイコンがあります。その上で[終了]ボタンを押すと、サーバーがシャットダウンすると予想されますが、再起動しようとすると、AddressAlreadyInUseExceptionサービスip +ポートにリスナーがあり、WCFSvcHost.exeで[終了]を押した後もプロセスが停止するため、エラーが発生しますランニング。

どんな助けにもとても感謝します。

4

1 に答える 1

0

プロセスが閉じられていない場合、例外がスローされるなどの理由で、チャネルが閉じられるのを待っている可能性があります。

もう 1 つの典型的な原因は、「サービス ライブラリ」プロジェクト タイプを使用して WCF サービスを作成した場合、Visual Studio IDE が内部の WCFSVCHost ツールを使用してサービス ライブラリをテストすることです。VS が実行されている場合、手動で開始したインスタンスを閉じても、WCFSVCHost の別のインスタンスが実行されている可能性があります (ただし、最初にホストを実行しようとした後にそれを受け取ります)。

念のため、プロジェクトのプロパティで「同じソリューションで別のプロジェクトをデバッグするときにWCFサービスホストを開始する」というラベルの付いたボックスのチェックを外すか、テスト用のWCFサービスをホストするコンソールアプリケーションを構築してみてください(セルフホスティングWCFサービス)。

于 2013-01-31T13:39:46.833 に答える