2011-09-29 36 views
0

我使用ajax控件套件在visual studio 2008中准备了我的网站,并且在本地计算机上运行良好。IIS 7会话超时频率很高

我的网站托管在Windows 2008 R23服务器上,使用II7 但它在30秒内经常失去会话。 请为我提供一个解决方案来增加我的会话超时。 我的web.config如下:

Visual Studio中的Asp.Net配置选项。 的设置和注释的完整列表可在 machine.config.comments通常位于 \的Windows \ Microsoft.Net \框架\ V2.X \配置 中找到 - > 部分使使用 ASP.NET来识别传入的用户的安全身份验证模式的配置 。 - > 部分启用配置 如果/在执行请求期间发生未处理的错误 时该怎么办。具体而言, 它使开发人员能够配置html错误页面 以代替错误堆栈跟踪进行显示。

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> 
     <error statusCode="403" redirect="NoAccess.htm" /> 
     <error statusCode="404" redirect="FileNotFound.htm" /> 
    </customErrors> 
    --> 
    <customErrors mode="Off"></customErrors> 
    <pages enableViewStateMac="false" viewStateEncryptionMode="Never" enableEventValidation="false"> 
     <namespaces> 
      <clear/> 
      <add namespace="System"/> 
      <add namespace="System.Collections"/> 
      <add namespace="System.Collections.Generic"/> 
      <add namespace="System.Collections.Specialized"/> 
      <add namespace="System.Configuration"/> 
      <add namespace="System.Text"/> 
      <add namespace="System.Text.RegularExpressions"/> 
      <add namespace="System.Linq"/> 
      <add namespace="System.Xml.Linq"/> 
      <add namespace="System.Web"/> 
      <add namespace="System.Web.Caching"/> 
      <add namespace="System.Web.SessionState"/> 
      <add namespace="System.Web.Security"/> 
      <add namespace="System.Web.Profile"/> 
      <add namespace="System.Web.UI"/> 
      <add namespace="System.Web.UI.WebControls"/> 
      <add namespace="System.Web.UI.WebControls.WebParts"/> 
      <add namespace="System.Web.UI.HtmlControls"/> 
     </namespaces> 
     <controls> 
      <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
      <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     </controls> 
    </pages> 
<sessionState mode="StateServer" cookieless="true" timeout="30"/> 
<httpRuntime executionTimeout="43200" maxRequestLength="104856" 
      enable="true" /> 
    <httpHandlers> 
     <remove path="*.asmx" verb="*"/> 
     <add path="*.asmx" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> 
     <add path="*_AppService.axd" verb="*" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> 
     <add path="ScriptResource.axd" verb="GET,HEAD" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/> 
     <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> 
    </httpHandlers> 
    <httpModules> 
     <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    </httpModules> 
</system.web> 
<system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" warningLevel="4" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5"/> 
      <providerOption name="WarnAsError" value="false"/> 
     </compiler> 
     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" warningLevel="4" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> 
      <providerOption name="CompilerVersion" value="v3.5"/> 
      <providerOption name="OptionInfer" value="true"/> 
      <providerOption name="WarnAsError" value="false"/> 
     </compiler> 
    </compilers> 
</system.codedom> 
<!-- 
    The system.webServer section is required for running ASP.NET AJAX under Internet 
    Information Services 7.0. It is not necessary for previous version of IIS. 
--> 
<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules> 
     <remove name="ScriptModule"/> 
     <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
    </modules> 
    <handlers> 
     <remove name="WebServiceHandlerFactory-Integrated"/> 
     <remove name="ScriptHandlerFactory"/> 
     <remove name="ScriptHandlerFactoryAppServices"/> 
     <remove name="ScriptResource"/> 
     <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add name="ScriptResource" preCondition="integratedMode" verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/> 
     <add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler" resourceType="Unspecified"/> 
    </handlers> 
</system.webServer> 
<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/> 
      <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> 
     </dependentAssembly> 
     <dependentAssembly> 
      <assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/> 
      <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/> 
     </dependentAssembly> 
    </assemblyBinding> 
</runtime> 

在此先感谢 chandu

回答

1

我想你已经设置了session time out至30日在您的web.config文件。

<sessionstate 
    timeout="required no of minutes" 
/> 

在这里您可以设置您需要session超时的时间。

这个ASP.NET Session State会给你一个更好的主意。

+0

托管团队给出的会话窗口是'状态服务器'模式。我已经cinfigured。但在运行页面时,在30秒内关闭。 – user970681

+0

您可能会尝试在后台代码 –

+0

中使用Session.Timeout,超时时间以分钟为单位,而不是秒,因此超过30分钟。它使用stateserver的事实不会影响你的应用程序的超时。您正在使用无Cookie,因此请确保魔术字符串包含在路径中。没有这个,你不能重新连接到会话。 –