C# Web应用调试开启外部访问步骤解析
在用C#开发Web应用时有个痛点,就是本机用VS开启Web应用调试时外部机器无法访问此Web应用。这里将会介绍如何通过设置允许局域网和外网机器访问本机的Web应用。
目录
- 设置内网访问
- 设置外网访问
1. 设置内网访问
在设置之前,本机环境如下:
操作系统:win7
IDE:Visual Studio 2010
应用:ASP.net
想要实现局域网内其他机器访问本机web应用包含以下4步:
第一步:设置启动方式为IIS Express
Visual Studio 运行Web应用时,默认采用自身的Visual Studio开发服务器。所以先要把项目改为用 IIS Web服务器。
首先确保机器已经装了IIS Express,下载地址(10.0版本):https://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>:
<binding protocol="http" bindingInformation="*:8081:*" />
示例图:
注意:修改前若已启动了IIS Express,修改后需要重新启动IIS Express才生效。
第三步:设置windows 防火墙
完成上面2步后,还需要设置防火墙允许此端口通过。
1) 图形操作:
打开 Windows 防火墙的高级设置:
① 控制面板 → Windows 防火墙 → 高级设置
② 创建一条入站规则:协议TCP、端口为8081。
示例图:
2) 命令行
也可以执行以下命令添加一条入站规则:
netsh advfirewall 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应用时,不是所有人都可以申请端口映射的权限,所以这时候就要有个内网穿透的解决方案了。
网络上提供内网穿透的应用有很多,这里使用的是花生壳(官网:http://hsk.oray.com/)。
示例:
注意:微信OAuth2.0进行域名跳转时会加上端口号,此时域名端口为80,本机端口为8081,跳转后的地址为域名:8081会显示错误。解决方法只需要设置本机web应用的端口也为80即可。
运行图
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!
上一篇:C#使用Windows Service的简单教程(创建、安装、卸载、调试)
栏 目:C#教程
下一篇:C# Resources资源详解
本文标题:C# Web应用调试开启外部访问步骤解析
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6045.html
您可能感兴趣的文章
- 01-10C#使用windows服务开启应用程序的方法
- 01-10C#实现将应用程序设置为开机启动的方法
- 01-10同步调用和异步调用WebService
- 01-10C#调用WebService实例开发
- 01-10C#图片处理3种高级应用
- 01-10C#中Json字符串的各种应用类实例讲解
- 01-10C#基于WebBrowser获取cookie的实现方法
- 01-10C#实现托盘程序并禁止多个应用实例运行的方法
- 01-10C#异步下载文件
- 01-10C# 调用 JavaWebservice服务遇到的问题汇总
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 01-10C#中split用法实例总结
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10delphi制作wav文件的方法
- 04-02jquery与jsp,用jquery
- 01-11ajax实现页面的局部加载
- 01-10SublimeText编译C开发环境设置
- 08-05dedecms(织梦)副栏目数量限制代码修改