2007/03/19

Skype 导致 IIS 发生 0x8ffe2740 错误

今天为了调试一个 ASP 应用程序,启动了 IIS 服务(平时为节省资源,此服务没有自动启动)。不料在 Internet Information Services 的 MMC 控制台,发现唯一的站点被打了个红叉。手动启动站点,IIS 立即报告错误:

Unexpected error 0x8ffe2740 occurred.

怎么回事?提示信息并未给出详细错误原因。打开 Event Viewer, System 目录有个 Source 为 W3SVC 的 115 错误事件,事件描述中提到:

The service could not bind instance 1.

看来是站点端口被其他进程占用了。运行 netstat -an, 果然 0.0.0.0:80 被占用,通过 SysinternalsTCPView 小工具,发现 80 端口居然被 Skype 占用!真是晕,Skype 来凑这个热闹干嘛?

进入 Skype 的 Options 查看,果然在 Connection 中有关于使用 80 和 443 端口的选项:

use port 80 and 443 as alternatives for incoming connections

呵呵,想必 Skype 默认这么做是为了更容易穿透防火墙。So, 简单地清除这个复选框,然后 restart Skype 就行了。