[C# ASP.NET]如何让IIS Express支持外部(局域网)…
2018-10-19 06:15:43来源:博客园 阅读 ()
声明:本文为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://*:63684/ user=everyone
完成之后,会显示以下信息:
六、使用iisexpres开启所创建的网站(WebApplication),请在控制台输入以下命令:
iisexpress /config:C:\Users\CNC\source\repos\WebApplication1\.vs\config\applicationhost.config /siteid:2
成功开启后会显示以下信息:
七、如果局域网内不能访问类似:http://192.168.0.8:63684 网站,请关闭防火墙,因为63684端口未配置为防火墙规则。
八、最终的运行效果如下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:验证数据帮助类
- asp.net源程序编译为dll文件并调用的实现过程 2020-03-29
- Asp.net MVC SignalR来做实时Web聊天实例代码 2020-03-29
- ASP.NET MVC中jQuery与angularjs混合应用传参并绑定数据 2020-03-29
- Asp.Net中WebForm的生命周期 2020-03-29
- ASP.NET使用Ajax返回Json对象的方法 2020-03-23
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash