VS 页面无法显示的原因分析及解决办法

前段时间用VS2008开发网站项目时,按F5调试,居然出现页面无法显示,

但是把地址栏里的localhost修改成127.0.0.1居然就可以,相当郁闷。在网上搜索了半天,说法都是一样,都说是NOD32的问题,这些人都是在互相的抄袭、转载,也不实际验证一下。
后来在Sun Developer Network上看到了曙光。详细内容见:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5042453l里面说到可能是IPV6抛出非数字端口异常。恍然大悟,我的就是这个问题造成的。

打开Hosts文件可以看到有“::1  localhost ”一行,因为::1是做为localhost的IPv6地址,在Vista和Server 2008系统中IPv6地址是被默认开启的。

通常系统是解决了localhost做为IPv6和IPv4。但是在.NET开发WEB服务情况下,它是仅有listening是用在IPv4上。


以下是常见的两种症状和解决方法:

症状一:
  IE地址栏里面显示的端口号和桌面任务栏右下角“ASP.NET Development Server”的端口不一致,而把IE地址栏的端口号改成“ASP.NET Development Server”显示的端口号,结果网页就能出来。

解决方法:引用原文如下:“是 否安装了NOD32 3.0以上版本?或者还有其它什么防火墙类软件?如果你是安装NOD32 3.0的,按照以下方法做: 依次进入NOD32的高级设置(F5),Web访问保护,HTTP,Web浏览器,会看到一个程序列表你的devenv.exe应该在其中,双击前面的勾 (相当于去掉选中状态),确定退出,停止一切运行的ASP.NET Development Server,在VS中打开并重新编译运行你的Web程序”。

症状二:
  IE地址栏里面显示的端口号和桌面任务栏右下角"ASP.NET Development Server”的端口是一致的,而把IE地址栏的localhost改成本机IP地址127.0.0.1,结果网页就能出来。

解决方法:

1、检查C:/WINDOWS/system32/drivers/etc目录下的Hosts文件,确认里面有127.0.0.1       localhost 行,说明Hosts配置应该是正确的。

2、可能是XP hosts文件不起作用了,按照网上的普遍方法,修改注册表的内容:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Servic es/Tcpip/Parameters里面的"DataBasePath"类型从"REG_SZ"修改为"REG_EXPAND_SZ"。

3、如果是vista或者Server 2008的系统则最有可能是它因造成的——IPV6。打开Hosts文件,打开后你会发现有这么两行代码
   127.0.0.1       localhost
   ::1                localhost
   将第二行去掉就解决问题了。

另:解决调试端口不一致的问题:
问题描述

在VS2008里点“调试”后。ASP.NET Development Server的端口比调试时打开的浏览器上的端口要大2,造成每次需要调试都要手动改浏览器的端口号。


解决方法一
来源:http://msdn.microsoft.com/zh-cn/library/ms178109.aspx

为 ASP.NET Development Server 指定端口1、在解决方案资源管理器中,单击应用程序的名称。2、在“属性”窗格中,单击“使用动态端口”旁的下箭头,然后从下拉列表选择“False”。   这会允许对“端口号”属性进行编辑。3、在“属性”窗格中,单击“端口号”旁的文本框,然后键入一个端口号。4、在“属性”窗格之外单击。此操作会保存属性设置。   每当在 Visual Web Developer 中运行文件系统网站时,ASP.NET Development Server 都会侦听指定的端口。

解决方法二
来源:http://msdn.microsoft.com/zh-cn/library/ms178108.aspx

为网站指定 Web 服务器1、在“解决方案资源管理器”中,要为哪个网站指定 Web 服务器,就右击该网站的名称,然后单击“属性页”。2、在“属性页”对话框中,单击“启动选项”选项卡。3、在“服务器”下,单击“使用自定义服务器”。4、在“基 URL”框中,键入 Visual Web Developer 在运行当前网站时应启动的 URL。

解决方法三

经检查,此问题是由杀毒软件引起的,我用的是NOD32(ESS或EAV),可以关闭NOD32里的相关功能解决此问题。

1、打开NOD32的主界面,并切换到高级模式。
2、点击菜单“设置”里的“高级设置”。
3、选到树状菜单的“Web 访问保护 -> HTTP”上,把“启用HTTP检查”关闭即可。

另外可以:

方案一:

1. 进入高级模式... (F5)

2.个人防火墙--协议过滤--HTTP和POP3端口

然后点确认按钮。完成设置

方案二:

1. 进入高级模式... (F5)

2. 然后进入网络接入保护-> HTTP  -> 网页浏览器

3. 在右边的面板, 点击“添加”按钮

4. 键入 "C:/Program Files/Common Files/Microsoft Shared/DevServer/9.0/WebDev.WebServer.EXE" 并且单击“打开”按钮

5. 然后在有复选框的列表中找到刚刚添加的文件名,并且选中复选框。(打上对勾)

 

不过 呵呵 我的方案二设置木有用

方案一就成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值