C# Web应用调试开启外部访问的步骤
在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用。这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用。
目录
1. 设置内网访问
2. 设置外网访问
1. 设置内网访问
在设置之前,本机环境如下:
操作系统:win7
IDE:Visual Studio 2010
应用:asp.net
想要实现局域网内其他机器访问本机web应用包含以下4步:
第一步:设置启动方式为IIS Express
Visual Studio 运行Web应用时,默认采用自身的Visual Studio开发服务器。所以先要把项目改为用 IIS Web服务器。
首先确保机器已经装了IIS Express,下载地址(10.0版本):www.microsoft.com/zh-CN/download/details.aspx?id=48264
步骤:右键Web项目 → 属性 → Web选项卡 → 勾选使用本地IIS Web 服务器 → 设置端口并点击【创建虚拟目录】按钮
第二步:设置IIS Express的applicationhost.config文件
点击上面操作的【创建虚拟目录】按钮后,会在IIS Express的applicationhost.config文件创建虚拟目录信息。
文件默认路径:%userprofile%\My Documents\IISExpress\config\applicationhost.config
找到上面应用程序的配置信息,添加一条:
<binding protocol="http" bindingInformation="*:8081:*" />
示例图:
注意:修改前若已启动了IIS Express,修改后需要重新启动IIS Express才生效。
第三步:设置windows 防火墙
完成上面2步后,还需要设置防火墙允许此端口通过。
1) 图形操作:
打开 Windows 防火墙的高级设置:
① 控制面板 → Windows 防火墙 → 高级设置
② 创建一条入站规则:协议TCP、端口为8081。
示例图:
2) 命令行
也可以执行以下命令添加一条入站规则:
netsh advfirew all firewall Add rule name=\"命令行Web访问8081\" dir =in protocol=tcp localport=8081 action =allow
结果:
第四步:配置URL保留项
在Windows 7,可使用 Netsh.exe 工具配置HTTP设置,允许指定URL通过。
以管理员身份运行cmd命令:
netsh http add urlacl url=http://*:8081/ user=everyone
该命令为所有帐户的指定 URL 命名空间添加一个 URL 保留项
更多netsh资料,可访问相关MSDN:配置 HTTP 和 HTTPS
运行图
2. 设置外网访问
设置好内网可访问后,想要外网的小伙伴访问本机,可通过以下2种方法:
1) 端口映射
2) 内网穿透
2.1 端口映射
前提条件:拥有路由器设置权限。
在对外的路由器中设置一条端口映射规则,访问外部IP地址时跳转到局域网机器上。具体操作这里不阐述。
2.2 内网穿透
在公司内开发web应用时,不是所有人都可以申请端口映射的权限,所以这时候就要有个内网穿透的解决方案了。
网络上提供内网穿透的应用有很多,这里使用的是花生壳(官网:hsk.oray.com/)。
示例:
注意:微信OAuth2.0进行域名跳转时会加上端口号,此时域名端口为80,本机端口为8081,跳转后的地址为域名:8081会显示错误。解决方法只需要设置本机web应用的端口也为80即可。
运行图
Atas ialah kandungan terperinci C# Web应用调试开启外部访问的步骤. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Panduan untuk Active Directory dengan C#. Di sini kita membincangkan pengenalan dan cara Active Directory berfungsi dalam C# bersama-sama dengan sintaks dan contoh.

Panduan untuk Pensirian C#. Di sini kita membincangkan pengenalan, langkah-langkah objek siri C#, kerja, dan contoh masing-masing.

Panduan untuk Penjana Nombor Rawak dalam C#. Di sini kita membincangkan cara Penjana Nombor Rawak berfungsi, konsep nombor pseudo-rawak dan selamat.

Panduan untuk Paparan Grid Data C#. Di sini kita membincangkan contoh cara paparan grid data boleh dimuatkan dan dieksport daripada pangkalan data SQL atau fail excel.

Panduan kepada Corak dalam C#. Di sini kita membincangkan pengenalan dan 3 jenis Corak teratas dalam C# bersama-sama dengan contoh dan pelaksanaan kodnya.

Panduan Nombor Perdana dalam C#. Di sini kita membincangkan pengenalan dan contoh nombor perdana dalam c# bersama dengan pelaksanaan kod.

Panduan untuk Faktorial dalam C#. Di sini kita membincangkan pengenalan kepada faktorial dalam c# bersama-sama dengan contoh dan pelaksanaan kod yang berbeza.

Perbezaan antara multithreading dan asynchronous adalah bahawa multithreading melaksanakan pelbagai benang pada masa yang sama, sementara secara tidak sengaja melakukan operasi tanpa menyekat benang semasa. Multithreading digunakan untuk tugas-tugas yang berintensifkan, sementara asynchronously digunakan untuk interaksi pengguna. Kelebihan multi-threading adalah untuk meningkatkan prestasi pengkomputeran, sementara kelebihan asynchronous adalah untuk tidak menghalang benang UI. Memilih multithreading atau asynchronous bergantung kepada sifat tugas: tugas-tugas intensif pengiraan menggunakan multithreading, tugas yang berinteraksi dengan sumber luaran dan perlu menyimpan respons UI menggunakan asynchronous.
