2011-09-29 40 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,因此請確保魔術字符串包含在路徑中。沒有這個,你不能重新連接到會話。 –