IIS Express启动不了

来源:互联网 发布:淘宝教程 百度网盘 编辑:程序博客网 时间:2024/04/28 21:07


window8.1更新发布了之后,一方面手痒,一方面也觊觎windows8.1的改进,手贱的升级了windows,由于不常用自己的电脑Coding,升级之后感觉使用起来一切正常,而且windows8.1确实比8进步不少。


昨天晚上突然想到一个问题要验证一些,于是就开始写代码测试,可是问题就来了,开始调试的时候系统提示IIS无法启动,如下图:


没办法,手动启动呗,可是我擦,启动失败:


好吧,好在iisexpress提供module加载跟踪手段——使用/trace:d选项,跟踪到如下信息:


IIS Express和IIS不同的地方是IIS Express的配置信息放在 ${USER_ROOT}/Documents/IISExpress 目录下,主要放在config/applicationhost.config文件中,模块加载也是在这里配置的,在globalModules配置节下:


既然如此,对症下药即可,在配置文件中查找iisnode,果然在globalModules配置中找到如下配置:


遂将其注释掉,IIS Express正常启动。


回到VS中继续调试代码喽,可是问题又出现了。。。。

IIS提示服务器错误,如下:


原来是名为iisnode的一个module找不到,联想刚才注释掉的配置信息,继续在applicationhost.config文件中查询iisnode,分别找到如下两处:

一个在<modules></modules>配置节:


一个是在<sectionGroup></sectionGroup>配置节:


这两个自然是对前面的这个iisnode的Module的引用。

同样注释之。。。


至此,IIS Express修复完整,可正常启动调试。


但是回过头来,为什么会有这么一个iisnode呢?按理来说,如果是iis express默认的Module的话不应该找不到的啊,努力思索一番。。。抓狂原来几个月前无聊,曾经使用微软的Web Platform Installer安装和使用WebMatrix,并使用WebMatrix建立了一个nodejs的站点,而这个iisnode,就是WebMatrix的nodejs站点模板使用的iis模块尴尬。至此,一切真相大白。微笑