[C# ASP.NET]如何让IIS Express支持外部(局域网)连接
声明:本文为www.cnc6.cn原创,转载时请注明出处,谢谢!
一、搭建环境:
1、系统:Win10 1809
2、IDE:Visual Studio 2017
3、Framework: 4.6.1
4、语言:C# (ASP.NET MVC)
二、新建一个MVC网站,打开Visual Studio(笔者这里使用的是Visual Studio 2017),使用MVC模板按照默认项目名称新建一个WebApplication(笔者这里使用的是WebApplication1),如下图所示:

三、打开本项目的IIS配置文件,位置位于:"C:\Users\{计算机用户名}\source\repos\{项目名称}\.vs\config\applicationhost.config",
笔者这里的位置是:"C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config",这里以笔者的为准,其他的项目大同小异,以下不再作说明;
我们导航到<sites>节点,内容如下:
<sites>
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
<site name="WebApplication1" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63684:localhost" />
</bindings>
</site>
<siteDefaults>
<logFile logFormat="W3C" directory="%IIS_USER_HOME%\Logs" />
<traceFailedRequestsLogging directory="%IIS_USER_HOME%\TraceLogFiles" enabled="true" maxLogFileSizeKB="1024" />
</siteDefaults>
<applicationDefaults applicationPool="Clr4IntegratedAppPool" />
<virtualDirectoryDefaults allowSubDirConfig="true" />
</sites>
找到与本项目相关的Site,我们可以从 bindingInformation="*:63684:localhost" 看到,这里绑定的IP为localhost,端口号为63684。
我们可以使用appcmd命令行提示符来显示以上信息:
1)将“C:\Program Files (x86)\IIS Express”(64位)或“C:\Program Files\IIS Express”(32位)加入到系统环境变量,具体怎么加入系统环境变量,可以自行百度;
2)打开命令提示符,输入以下命令:
appcmd /apphostconfig:C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config list site
接着命令提示符显示:

以上与项目的applicationhost.config文件显示一致,本项目的Site ID为2。
四、将applicationhost.config文件内<site name="WebApplication1" id="2">节点内容修改,如下(下划线所示):
修改前:
<site name="WebApplication1" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63684:localhost" />
</bindings>
</site>
修改后:
<site name="WebApplication1" id="2">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:\Users\CNC\source\repos\WebApplication1\WebApplication1" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:63684:*" />
</bindings>
</site>
将localhost修改为*,修改的目的是不仅仅可以使用localhost:63684,还可以使用任意与本机相关的IP地址,如192.168.0.8:63684。
五、为非管理员用户和帐户保留指定的URL,请以管理员模式打开命令提示符,输入以下信息:
netsh http add urlacl url=http://*:/ user=everyone
完成之后,会显示以下信息:

六、使用iisexpres开启所创建的网站(WebApplication),请在控制台输入以下命令:
iisexpress /config:C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config /siteid:
成功开启后会显示以下信息:

七、如果局域网内不能访问类似:http://192.168.0.8:63684 网站,请关闭防火墙,因为63684端口未配置为防火墙规则。
八、最终的运行效果如下:

[C# ASP.NET]如何让IIS Express支持外部(局域网)连接的更多相关文章
- vs中开发web站点使IIS Express支持局域网连接
vs中开发web站点使IIS Express支持局域网连接 在开发webapi的时候,客户端设备都会使用局域网的地址访问webapi,有时候需要调试api.这个时候就需要使用一些技巧了,这里我记录了我 ...
- IIS Express 配置外部访问
IIS Express是Visual Stuido自带的微型Web服务器,简单易用. IIS Express默认只允许本机访问,通过Visual Studio调试Web程序时,我们有时需要通过外部访问 ...
- 使IIS Express支持其他网络客户端访问
今天尝试利用Android客户端Web浏览器访问VS2012 IIS Express调试中的Web应用,发现这个IIS Express仅支持localhost主机名地址访问. 上网搜索找到解决方案,几 ...
- 让vs IIS Express支持本地静态Json文件
根据前辈的解决方案是IIS Express没有配置Json文件的处理程序,只要增加对应配置即可,IIS Express 对应配置文件夹为: “%UserProfile%\Documents\IISEx ...
- IIS Express允许外部访问(外部调试)
Visual Studio配合IIS Express为Web开发提供了强劲的调试功能,本文介绍IIS Express如何在调试模式下让局域网的其他设备进行访问,以便进行测试. 1.打开IIS Expr ...
- VS IIS Express 支持局域网访问
使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试.虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到 ...
- 配置IIS Express 允许外部访问
修改applicationhost.config 配置允许外部访问 操作步骤: 1. 查看本机IP地址记录IP地址,例如:10.1.20.138 2. 如下图,找到要发布的站点的名称 记录站点的名称, ...
- VS2013无法启动 IIS Express Web解决办法
开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...
- VS2013无法启动 IIS Express Web解决办法
不要勾选[覆盖应用程序根URL(U)],或让[覆盖应用程序根URL(U)]下面的输入框和上面的输入框的地址一样! 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日 ...
随机推荐
- Jmeter-测试计划,线程组,取样器,逻辑控制器,断言和监听器
一 测试计划: 是使用jmeter测试的起点,是其他测试元件的容器,一个完整的测试计划包括多个线程组,逻辑控制器,取样器,监听器,配置元件 用户定义的变量: 测试计划上可以添加用户定义的变量.一般添加 ...
- myBase7.0破解
永久性破解 Mybase7Pro破解版下载:链接:https://pan.baidu.com/s/1ezb8bSqI0OPZnVgx-snA_Q 提取码:n72t 1.下载后安装 myBase-De ...
- 初学ubuntu命令
将我第一天学的内容做个笔记 ,方便日后查看 命令的使用: ls ls -a 显示所有文件 ls -l 显示文件的所有信息 cp 注意命令格式 /home/../temp/a /ho ...
- Linux CFS调度器之pick_next_task_fair选择下一个被调度的进程--Linux进程的管理与调度(二十八)
1. CFS如何选择最合适的进程 每个调度器类sched_class都必须提供一个pick_next_task函数用以在就绪队列中选择一个最优的进程来等待调度, 而我们的CFS调度器类中, 选择下一个 ...
- NSMutableArray 增删操作测试
NSMutableArray *testArray = [NSMutableArray array]; [testArray addObject:"]; [testArray addObje ...
- Vue 学习笔记之快速入门篇
Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与 ...
- Hibernate 5 入门指南-基于类注解
首先创建hibernate.cfg.xml配置文件并做简单的配置 <hibernate-configuration> <session-factory> & ...
- 虚拟机备份,部署VDP
VDP是一个基于磁盘的备份和恢复解决方案,可靠且易于部署.VDP这一经过更新的备份设备完全取代了VMware原有的备份架构.而且VDP与VMware vCenter Server 完全集成,可以对备份 ...
- Visio画图--我的形状
本人用的Visio 2013 打开Visio后新建一个拓扑图,发现左侧形状一栏不见了 形状栏可以保存很多自定义图形,怎么才能将形状一栏重新显示出来呢?方法其实很简单,方法如下所示: 这时候我们就会发现 ...
- LeetCode算法题-Minimum Depth of Binary Tree(Java实现)
这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...