ASP.Net浏览器兼容性

时间:2012-03-07 15:23:54

标签: asp.net internet-explorer

如果我使用IE连接到我的ASP.Net站点并让浏览器闲置一分钟左右然后尝试点击一个新项目,链接,无论如何,IE似乎正在尝试加载但从不做任何事情。

如果我使用Chrome连接到网站并执行相同的操作,Chrome会按预期毫不拖延地提取下一个项目。我已经尝试更改session.config和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"/>

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

所以......在继续研究和摆弄之后,我找到了一篇解决问题的微软文章。似乎那些特殊的人在微软决定一分钟超时是一个合适的默认值...... http://support.microsoft.com/kb/813827。一旦我将两个必要的条目添加到KeepAliveTimeout和ServerInfoTimeout的注册表中,问题就消失了。