IIS Express冻结了Windows XP

时间:2012-08-08 11:31:44

标签: freeze iis-express

我有Windows xp sp3,Visual Studio 2010 sp1,IIS Express 7.5和IE8。 在VS 2010中,我使用IIS Express来创建基于文件的新网站和项目。

每当我从VS开始调试时,它会打开IE空窗口,然后一切都冻结了。唯一的选择是关掉电脑。

IIS默认站点的绑定 - applicationhost.config文件中的WebSite1设置为

// binding protocol =“http”bindingInformation =“:8080:localhost”//

如果我从命令提示符启动IIS Express,则常见结果如下:

1)如果我从任务栏中的IIS Express图标启动Website1 - iisexpresstray,大多数时候我收到IE窗口时显示消息“Internet Explorer无法显示网页”。 从weblog文件中我可以看到的唯一不寻常的事情是Client-IP和Server-IP以IPv6格式“:: 1”给出

所有其他时间一切都冻结,博客文件和网络跟踪文件中都没有记录任何内容。此外,Windows事件查看器没有任何与此事件关联的录制事件。

2)如果我尝试直接从IE http:// localhost:8080打开Website1 /大部分时间网站都正常打开。从weblog文件中我发现Client-IP和Server-IP为127.0.0.1。

有时我得到“Internet Explorer无法显示网页”,并且weblog文件再次将IPv6格式的Client-IP和Server-IP显示为“:: 1”。

有时它会冻结上面的窗口,在网络日志文件,网络跟踪文件和Windows事件查看器中都没有任何痕迹。

有什么想法?请记住,我对这些事情知之甚少。

2 个答案:

答案 0 :(得分:0)

你可以尝试两件事:

1)禁用网卡的IPv6功能(假设您实际上没有使用IPv6)。这可以通过网上邻居和访问卡的设置来完成。

2)尝试在其他端口上运行IIS,并查看该行为是否仍然存在。根据您机器的配置,可能已经在端口8080上侦听了一些内容并且没有得到干净的处理。

当我第一次开始使用IIS Express时,我遇到了一些类似的问题,并且通过让它在我的测试的非标准端口上运行来解决它们。

答案 1 :(得分:0)

在我看来,问题出现在路由链的某个地方。链中的一些链接(显然很重要,如果它能够崩溃窗口!)不理解IPv6语法。我没有任何技巧或时间来进一步调查,但至少我提出了解决方法。

这个想法是强迫每个人使用IPv4表示法而不是IPv6表示法。

    1) In Visual Studio 2010 SP1 open project’s properties page
    2) Select “Web” tab. 
    3) In the “Servers” area select “Apply server settings to all 
    users (store in project file)”, 
    4) Select “Use Local IIS Web server”, 
    5) Select “Use IIS Express” 
    6) In the Project Url text box enter 
    http://127.0.0.1:8081 
    instead of 
    http://localhost:8081 .

或者检查并最终手动更改:

    1) In C:\...\My Documents\IISExpress\config\ applicationhost.config replace
    <binding protocol="http" bindingInformation="*:8081:localhost" /> 
    with
    <binding protocol="http" bindingInformation="*:8081:127.0.0.1" />

    2) Also in Visual studio project file *.csproj replace
    <IISUrl>http://localhost:8081/</IISUrl> 
    with
    <IISUrl>http://127.0.0.1:8081/</IISUrl>.