2012-03-07 224 views
4

如果我使用IE连接到我的ASP.Net网站,并让浏览器闲置一分钟左右,然后尝试点击一个新项目,链接,无论如何,IE看起来好像它是试图加载但从不做任何事情。ASP.Net浏览器兼容性

如果我使用Chrome连接到该网站并执行相同的操作,Chrome会按预期方式拉动下一个项目,不会延迟。我已经尝试对session.State和httpRuntime的web.config进行更改,转到IIS中的ASP和池设置,并且我似乎无法做任何修复IE中问题的操作。

是否有其他设置的地方,也许在Windows中修复IE浏览器,因为这似乎是一个浏览器相关的问题,而不是相关的ASP网站或IIS?我没有想法,大多数用户将使用IE而不是Chrome,所以这不是我可以忽略的问题。

这里是我的web.config文件,如果有帮助:

<?xml version="1.0"?> 
<!-- 
    For more information on how to configure your ASP.NET application, please visit 
    http://go.microsoft.com/fwlink/?LinkId=169433 
    --> 
<configuration> 
    <connectionStrings> 
    <add name="ApplicationServices" connectionString="data  source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/> 
    <add name="TaskSystemConnectionString" connectionString="Data Source=REPORTSERVER;Initial Catalog=TaskSystem;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 
    <system.web> 
     <sessionState timeout="3600"/> 
     <httpRuntime executionTimeout="3600" maxRequestLength="2000000"/> 
    <compilation debug="true" targetFramework="4.0"/> 
    <authentication mode="Windows" /> 
    <customErrors mode="Off"/> 
    <membership> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/> 
     </providers> 
    </membership> 
    <profile> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
     </providers> 
    </profile> 
    <roleManager enabled="false"> 
     <providers> 
     <clear/> 
     <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/> 
     <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/> 
     </providers> 
    </roleManager> 
    <pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID" validateRequest="false"/> 
    </system.web> 
    <system.webServer> 
    <defaultDocument> 
    <files> 
    <add value="Home.aspx"/> 
    </files> 
</defaultDocument> 
<modules runAllManagedModulesForAllRequests="true"/> 

+1

啊啊讽刺。 IIS只能将页面提供给竞争的浏览器。你有没有试过制作一个非常简单的ASPX页面,以确保它不是问题的页面? – JohnFx 2012-03-07 15:27:50

+1

可能是问题出在浏览器上,而不是网站上。铬可能积极缓存和IE不是。 – 2012-03-07 15:28:18

+0

你正在使用哪个Windows版本?您能否提供有关您的环境的更多信息(Windows版本,IIS版本,浏览器版本等)。你是否试图在调试模式下运行?您的应用程序使用AJAX还是定期回发? – outlookrperson 2012-03-07 17:11:25

回答

0

因此......在继续研究和摆弄之后,我发现了一篇修复此问题的微软文章。似乎微软的这些特殊人士认为一分钟超时是一个合适的默认设置...... http://support.microsoft.com/kb/813827。一旦我将两个必要的条目添加到注册表中KeepAliveTimeout和ServerInfoTimeout,问题就消失了。

0

可能是一些做数据库的权限。您是否尝试过在连接字符串中指定SQL登录名?运行IIS的帐户可以访问这些数据库吗?

还要检查您的IIS设置以确保身份验证模式= Windows。

我在使用IE时遇到了Windows身份验证问题。例如,Chrome不通过用户身份,每次访问Intranet时都必须输入凭据。