声明:本文为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支持外部(局域网)连接的更多相关文章

  1. vs中开发web站点使IIS Express支持局域网连接

    vs中开发web站点使IIS Express支持局域网连接 在开发webapi的时候,客户端设备都会使用局域网的地址访问webapi,有时候需要调试api.这个时候就需要使用一些技巧了,这里我记录了我 ...

  2. IIS Express 配置外部访问

    IIS Express是Visual Stuido自带的微型Web服务器,简单易用. IIS Express默认只允许本机访问,通过Visual Studio调试Web程序时,我们有时需要通过外部访问 ...

  3. 使IIS Express支持其他网络客户端访问

    今天尝试利用Android客户端Web浏览器访问VS2012 IIS Express调试中的Web应用,发现这个IIS Express仅支持localhost主机名地址访问. 上网搜索找到解决方案,几 ...

  4. 让vs IIS Express支持本地静态Json文件

    根据前辈的解决方案是IIS Express没有配置Json文件的处理程序,只要增加对应配置即可,IIS Express 对应配置文件夹为: “%UserProfile%\Documents\IISEx ...

  5. IIS Express允许外部访问(外部调试)

    Visual Studio配合IIS Express为Web开发提供了强劲的调试功能,本文介绍IIS Express如何在调试模式下让局域网的其他设备进行访问,以便进行测试. 1.打开IIS Expr ...

  6. VS IIS Express 支持局域网访问

    使用Visual Studio开发Web网页的时候有这样的情况:想要在调试模式下让局域网的其他设备进行访问,以便进行测试.虽然可以部署到服务器中,但是却无法进行调试,就算是注入进程进行调试也是无法达到 ...

  7. 配置IIS Express 允许外部访问

    修改applicationhost.config 配置允许外部访问 操作步骤: 1. 查看本机IP地址记录IP地址,例如:10.1.20.138 2. 如下图,找到要发布的站点的名称 记录站点的名称, ...

  8. VS2013无法启动 IIS Express Web解决办法

    开发环境:windows8.1+VS2013 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日,创建了一个MVC项目,突然发现VS2013无法调试,报了这样的错. ...

  9. VS2013无法启动 IIS Express Web解决办法

    不要勾选[覆盖应用程序根URL(U)],或让[覆盖应用程序根URL(U)]下面的输入框和上面的输入框的地址一样! 使用VS2013有一段时间了,因前期都是编写C/S程序,没有使用到B/S调试器.前几日 ...

随机推荐

  1. C#调用原生C++ COM对象(在C++中实现C#的接口)

    为了跨平台在.net core中使用COM,不能使用Windows下的COM注册机制,但是可以直接把IUnknown指针传给C#,转换为指针,再转换为C#的接口(interface). 做了这方面的研 ...

  2. java面试整理(会持续更新..)

    本人出道至今,经历了大大小小百余场战斗,,,下面整理的面试题有些有答案,有些没答案,那个谁说过:"要抱着怀疑的态度去编程,所以,即便有答案,也不一定正确,即便我本地正确,但是由于屏幕前的你和 ...

  3. VS开发程序用户防范安全问题

    一个开发的系统程序从需求.设计到打包.用户使用的过程中,安全问题一直是开发者关注的焦点.对于用户来说,不考虑加密工具(如加密精灵等),面对的是一个系统的各个组件集合及各类的配置文件( 如App.Con ...

  4. (面试题)python面试题集锦-附答案

    1.一行代码实现1-100的和 sum_1_100 = sum(range(1, 101)) 2.如何在一个函数内修改全局变量的值 a = 100 def foo(): global a a = 30 ...

  5. 账号配置vue版本的扫码下单以及对店铺进行装修的步骤

    新版vue配置说明文档 管理员后台: 1.配置管理-店铺配置(子账号)-扫码点餐tab页-开启vue版 2.配置管理-店铺配置(主账号)-扫码点餐tab页-开通装修配置 商家后台: 1.主账号-门店设 ...

  6. ORA-01440: column to be modified must be empty to decrease precision or scale

    在修改表字段的NUMBER类型的精度或刻度时,你可能会遇到ORA-01440: column to be modified must be empty to decrease precision or ...

  7. java笔记----面试题总结(一)【转】

    1.面向对象的特征有哪些方面? 答:面向对象的特征主要有以下几个方面: - 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注 ...

  8. Markdonw基本语法学习

    Markdonw基本语法 二级标题 三级标题 ----ctrl+r 粗体 ctrl+b 斜体 ctr+i #include<stdio.h> void main() { printf(&q ...

  9. MongoDB添加仲裁节点报错replica set IDs do not match办法

    背景:由于历史原因,某个MongoDB副本集只有一主一从双节点,无法满足自动故障转移要求,需要配置一个仲裁节点. 原有节点192.168.10.20:27017,192.168.10.21:27017 ...

  10. C#学习之接口

    什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致.个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的. ...