日期:2010-05-23  浏览次数:20470 次

1、现象
  a.用localhost访问,正常
  b.用IP地址访问,则出现403错误

2、分析
  a.怀疑是ACL问题,设置Everyone为完全控制,问题仍无法解决
  b.无意中访问了"WebForm1.aspx",再访问该主页,可以正常访问
  c.原来无法访问的aspx都是从asp转换过来的

3、结论
   a.访问任一从asp转换过来,变为aspx的网页,若新的aspx的网页中未包含“Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="IQTest.WebForm1"”部分,则会出现403错误
  b.解决方法:一定要保证访问所有从asp转换过来的aspx的网页之前,访问任一包含“Codebehind”的页面;本质的原因是asp.net应用程序未能启动,造成IIS的拒绝访问

同理,可见当asp.net应用程序超时被回收,之后提交的页面也会出现此403错误!

注:不包含“Codebehind="index.aspx.cs" AutoEventWireup="false" Inherits="IQTest.WebForm1"的aspx页面可以正常访问。