【问题标题】:how to set session for more than one hour in asp.net website如何在asp.net网站设置会话超过一小时
【发布时间】:2016-03-03 11:33:06
【问题描述】:

我试图在 asp.net 网站上设置一个多小时的会话。我正在使用 iss7 运行网站。我还在 web.config 中设置了会话状态超时 3600,但在 10 分钟内会话已过期,我也尝试在 iis 服务器中进行设置,但无法完成该设置

   ** its my web.config**

标题

     <!-- language: c# -->


         <configuration>
              <system.web.extensions>        <scripting>
                  <webServices>
                    <jsonSerialization maxJsonLength="50000000"/>          </webServices>
                </scripting>
              </system.web.extensions>
               <system.webServer>
                 <handlers>
                   <remove name="ChartImageHandler"/>
                   <add name="ChartImageHandler" preCondition="integratedMode" verb="GET,HEAD,POST" path="ChartImg.axd"
         type="System.Web.UI.DataVisualization.Charting.ChartHttpHandler,
         System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral,
         PublicKeyToken=31bf3856ad364e35"/>
                 </handlers>
               </system.webServer>
               <appSettings>
                 <add key="ConnectionString" value=""/>
                 <add key="AdminRole" value="Company-Admin"/>
                 <add key="ApproverRole" value="Approver"/>
                 <add key="StaffRole" value="Staff"/>
                <add key="ChartImageHandler" value="storage=file;timeout=20;dir=c:\TempImageFiles\;"/>
               </appSettings>
               <connectionStrings>

                 <add name="ConnectionString" connectionString="" providerName="System.Data.SqlClient"/>
                <add name="ConnectionStringDBePay_14_15" connectionString="" providerName="System.Data.SqlClient"/>
               </connectionStrings>       <system.web>


                 <trace enabled="true" mostRecent="true" />
                 <pages>
                   <controls>
                     <add tagPrefix="asp" namespace="System.Web.UI.DataVisualization.Charting"
         assembly="System.Web.DataVisualization, Version=4.0.0.0,
         Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
                   </controls>
                 </pages>
                 <customErrors defaultRedirect="~/Error.aspx" mode="Off" />
                 <compilation debug="true" targetFramework="4.0">
                   <assemblies>
                     <add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                     <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
                     <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
                     <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
                   </assemblies>
                 </compilation>
                 <authentication mode="Forms">
                   <forms loginUrl="Default.aspx" protection="All" timeout="80200" name="MCSSCookie" requireSSL="false"
         slidingExpiration="true" cookieless="AutoDetect"
         enableCrossAppRedirects="false"/>
                 </authentication>
                 <httpRuntime executionTimeout="999999" maxRequestLength="1024000" />
                 <sessionState timeout="3600"></sessionState>
                 <membership defaultProvider="AspNetSqlMembershipProviderRelaxed">
                   <providers>
                     <clear/>
                     <add connectionStringName="ConnectionString" passwordAttemptWindow="10" enablePasswordRetrieval="true"
         enablePasswordReset="true" requiresQuestionAndAnswer="true"
         applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear"
         maxInvalidPasswordAttempts="15" passwordStrengthRegularExpression=""
         minRequiredPasswordLength="3" minRequiredNonalphanumericCharacters="0"
         name="AspNetSqlMembershipProviderRelaxed"
         type="System.Web.Security.SqlMembershipProvider, System.Web,
         Version=2.0.3500.0, Culture=neutral,
         PublicKeyToken=b03f5f7f11d50a3a"/>
                   </providers>
                 </membership>
                 <profile>
                   <providers>
                     <clear/>
                     <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider"
         connectionStringName="ConnectionString" applicationName="/"/>
                   </providers>
                 </profile>
                 <roleManager enabled="true">
                   <providers>
                     <clear/>
                     <remove name="AspNetSqlRoleProvider"/>
                     <add name="AspNetSqlRoleProvider" connectionStringName="ConnectionString" applicationName="/"
         type="System.Web.Security.SqlRoleProvider, System.Web,
         Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
                   </providers>
                 </roleManager>
               </system.web>
             </configuration>

【问题讨论】:

标签: c# asp.net session c#-4.0 session-state


【解决方案1】:

像这样设置会话超时。请尝试一下。

<configuration>
   <system.web>
       <sessionState timeout="61"></sessionState>
   </system.web>
</configuration>

看看官方的Session状态docs

【讨论】:

    【解决方案2】:

    如下更新您的网络配置。

    <configuration>
       <system.web>
       <sessionState mode="InProc" cookieless="false" timeout="10" /> 
       </system.web>
    </configuration>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-13
      • 2010-12-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-28
      • 2013-08-02
      • 1970-01-01
      相关资源
      最近更新 更多