我们在调试WEB程序的时候可以把本地web程序挂载到本地IIS,然后访问程序,通过附加进程的方式(w3wp)来调试程序(个人非常喜欢的一种调试方式),还有一种比较传统的方式就是通过VS自带的F5来执行,但是感觉很蹩脚,如果修改c#代码我们不得不停止当前程序然后重新编译重新F5来启动,感觉时间很浪费,那有没有其它方式来启动程序呢?答案就是用命令行来启动IIS(本质上也是和F5一样启动的IIS Express).
首先启用vs自带的命令行工具,个人用的是vs 2017 professional版本,在命令行输入以下命令"C:Program FilesIIS Expressappcmd.exe" list site 然后单击Enter键,就会显示当前已经注册到IIS Express的网站列表,如下图所示:
我们用VS创建了一个新的站点,但是站点地址如下:
我们站点列表里边只有站点名称为WebSite1的地址,这时候我们可以通过命令向配置文件中添加我们刚才创建的站点信息:
"C:Program FilesIIS Expressappcmd.exe" add site /name:MyNewSite /bindings:"http://localhost:58127" /physicalPath:"C:UsersAdministratorDocumentsVisual Studio 2017WebSitesWebSite4"
然后我们通过以下命令启动我们自己的站点“C:Program FilesIIS Expressiisexpress.exe“ /siteid:2
这时候你会发现电脑桌面右下角多了个启动的小图标
这时候在浏览器输入http://localhost:58127,结果如下,说明通过命令行的方式已经启动成功.
并且你对页面的操作发生的请求都会记录下来:
然后按Q键可以停止当前站点.
如果我们想在手机上查看站点效果,如果在同一局域网中的手机访问此站点还是没有权限的,需要执行如下命令行(注意执行时命令行工具要用管理员权限)
netsh http add urlacl url=http://*:58127/ user=everyone;
同时打开%userprofile%documentsiisexpressconfig目录下的applicationhost.xml配置文件我们自己新建的站点xml部分
变为
然后重新执行“C:Program FilesIIS Expressiisexpress.exe“ /siteid:2,手机就可以访问了.完美.