Windows WEB開発(ASP.NET Core / C#) トップに戻る 新規投稿 tags EntityFrameworkCore [6] razor [5] https://qiita.com/ledsun/items/ca77c60aad424438cdd7 .vs/config/applicationhost.config
コマンドプロンプトを管理者として実行する
No.1630 11/27 18:40 edit 2020/11/14 2022/9/20 C# Visual Studio 2019(.NET Framework Version 4.803752使用中)で、こんなエラーが出てきました。 「対象のコンピューターによって拒否されたため、接続できませんでした」 どうやら、TCP IP 接続を行うときの処理、下記のコードのところでエラーが出ている模様。 client.Connect(“localhost”, 80); Visual Studio, C#, そして、ネットワークのことなんか全然これまでやってきたことがなかった私。何をどうしたらこのエラーが取れるのか、さっぱり分からず、いろいろとネットで調べました。 結果、エラーが取ることができました。調べた内容について書いておきます。 ちなみに、使用している教材やサンプルソースコードは、C#逆引き大全という本です↓
本書の422番目のサンプルソースコードを実行した時の話。 ※ちなみに、書籍で勉強するより、動画講座の方が頭に入りやすいタイプの方には、Udemyでご自身の学びたい内容を検索して学習するのが効率がよいです↓ 世界最大級のオンライン学習サイトUdemy 私もお世話になっています。必要なときに、必要な講座だけを購入すればいいのでお得です。 まず結論から書いておきます。 Windows
のコントロールパネルの下記のチェックボックスを入れることで解決しました↓ コントロールパネルの「プログラムと機能」を選択。 「Windowsの機能の有効化または無効化」をクリック。 その中で、.NET Framework3.5の欄で、 「Windows Communication Foundation HTTP アクティブ化」 「Windows Communication Foundation 非HTTP アクティブ化」(→こっちが直接解決の要因になっている模様) をとりあえずチェックONにして、 「対象のコンピューターによって拒否されたため、接続できませんでした」 のエラーが取れました。 まず解決の結論は以上です。 ソースコードの引用をしておきます。
スポンサーリンク 「対象のコンピューターによって拒否されたため、接続できませんでした」のエラーを取るために調べたサイト引用では、ここからは調べた内容について書いておきます。 まず、エラーを取ることができた直接のブログ記事がこちら、個人の方のブログ記事です。
簡潔な解決方法のヒント、ありがたいです。 では、解決はしたはいいものの、 そもそもこの「HTTP アクティブ化」「HTTP アクティブ化」のチェックボックスをする、しないの意味は何なのか? がよく分からないので Microsoft のホームページで調べた箇所について書いておきます。 まず 、Windows Communication FOUNDATION アクティブ化コンポーネントの説明については下記の通り。
Http アクティブ化については下記。
スポンサーリンク 非HTTPアクティブ化については下記の通り
この最後の非http アクティブ化のところに、 TCP を使用したプロセスのアクティブ化がサポートされます と書いてあるので、 確かに TCP IP 接続を行うときの処理 client.Connect(“localhost”, 80); に関連している。なんとなく、http アクティブ化に関するインストールによって解決することが分かりました。 また、下記の Microsoft の下記のページも参考になります。
スポンサーリンク さらに補足として、Microsoft のホームページにこのようなコメントも書いてあったので要点だけ引用しておきます↓
Windows Communication FOUNDATION 機能が必要な開発者またはサーバー管理者以外 は、今回チェックした http アクティブ化、非http アクティブ化の項目を選択する必要はないとのこと。 確かに。私も例外ではなかったのですが Windows 10の PC を買った時に、 これらのチェックボックスはオンになっていませんでした。 通常はデフォルトでは、チェックが入ってないはずなので、 Visual Studioで今回実行したような、TCP 接続をする時 client.Connect(“localhost”, 80); のようなコードを実行するときは、 チェックをしておく必要があるということ。 正直、細かいことは分かりません。 もう少し理解ができたら、今回の内容の追記もしていこうと思っています。 P.S Visual Studio でC#の勉強を始めてするとき、下記の本が重宝しています。 サンプルソースコードが豊富なので、完成形から効率的に勉強できるので。 P.S 書籍で勉強するより、動画講座の方が頭に入りやすいタイプの方には、Udemyでご自身の学びたい内容を検索して学習するのが効率がよいです↓ 世界最大級のオンライン学習サイトUdemy 私もお世話になっています。必要なときに、必要な講座だけを購入すればいいのでお得です。 |