0

私は WCF の初心者で、まだ WCF の糖分を学んでいます。実稼働環境用の WCF アプリを開発することはありません。長い間、画面共有アプリのソース コードで良い記事を探していましたが、ついにサンプル コードで見つけました。

Bob cravens 氏は、完全に WCF 保存されたアプリである 2 台の PC 間で画面を共有するための小さなアプリケーションを開発しています。私は彼らのコードを調べて、いくつかのことを理解していますが、まだいくつかのことを理解しています。サーバーとクライアントがどのように通信し、スクリーンショットを相互に送信するかなど、すべてをクリアするために、このアプリを最後に実行する必要があります。

サンプル コードからこの wcf サーバーを実行しようとすると、実行されていることがわかりましたが、問題は wcf クライアント エンドにあります。wcf client end を実行しようとすると、エラーが発生します。

エラー: - HTTP は URL [http://mypcip:myport/Rlc/Viewer/][1] を登録できませんでした。プロセスには、この名前空間へのアクセス権がありません (参照)。

このエラーは、この行が wcf クライアント側で実行され、行が

 Uri baseAddress = new Uri("http://mypcip:myport/Rlc/Viewer");
 _viewerService = new ServiceHost(typeof(ViewerService), baseAddress);
 _viewerService.Open();

サービスホストが開こうとしてこの行を実行すると、エラーが発生します。

_viewerService.Open();

ポートも 1003 から 8080 に変更しようとしましたが、同じエラーが発生しました。このコードを取得したサイトに問題を投稿しましたが、回答が得られず、他の多くの人も同じ種類の問題を投稿し、回答が得られませんでした。

誰でもソースコードをダウンロードして、最後にこのアプリを実行しようとすることができ、PCでこのサンプルコードwcfクライアントを実行しようとするとエラーを引き起こすこのコードの何が問題なのかを教えてくれます. クライアントがエラーを出している理由を理解するために多くのことを試みましたが、理解できませんでした。

ですから、誰かがソースコードをダウンロードして、最初にサーバーを実行してから、コードでIPアドレスを編集してクライアントを実行して、間違いなくエラーが発生するようにしてください. このコードで何を変更する必要があるかを教えてください。結果として、このアプリを自分の PC で完全に実行できます。デバッグ モードでソース コードを確認することは、私にとって非常に重要な仕事ですが、このアプリをまったく実行できません。私が問題を抱えているので、助けてください。ありがとう

4

1 に答える 1

1

私はかつて同じ問題を抱えていました。

エラーメッセージが示すのは、設定されたアドレスとポートでの実行を明示的に許可する必要があるということです。

これには管理者権限が必要です。

これを解決するために何をすべきかは、実際にサービスを実行しようとしているOSによって異なります。

WindowsXPまたはServer2003で実行している場合は、コマンドラインでこのパターンを使用して構成する必要があります。

httpcfg set urlacl /u {http://URL:Port/ | https://URL:Port/} /aACL

Windows Vista、Windows Server 2008 R2、またはWindows 7を実行している場合は、次のnetsh.exeツールを使用する必要があります。

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

最後に、ファイアウォールルールで例外を構成して、構成したアドレス/ポートでこのサービスを実行できるようにする必要がある場合があります。Windowsファイアウォールでポートを開きます。

私はこれらのマイクロソフトの記事のリソースの助けを借りてこの問題を解決しました:

于 2012-12-14T09:22:27.063 に答える