60-минутный тайм-аут сеанса не работает в asp.net 2.0

#asp.net #.net #session #iis #web-config

#asp.net #.net #сессия #iis #веб-конфигурация

Вопрос:

Пытаюсь установить тайм-аут сеанса на 60 минут, но по некоторым причинам он не работает в asp.net Веб-приложение 2.0.

Я провел онлайн-исследование и перепробовал все рекомендуемые настройки, но он все еще не работает.

Это то, что я пробовал до сих пор без какой-либо удачи;

  • 60 минут ожидания сеанса в файле web.config
  • 60 минут ожидания сеанса в IIS
  • Установите время простоя пула на 70 минут
  • пробовал как с cookieless =»true», так и с cookieless =»false»

Вот файл web.config;

 <?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
    <add key="aspnet:MaxHttpCollectionKeys" value="50000" />
</appSettings>
<location path="pFooter.ascx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="pHeader.ascx">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

<system.web>
    <pages enableEventValidation="false" />
    <compilation defaultLanguage="vb" debug="true">
        <assemblies>
            <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            <add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />

            <add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
            <add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
        </assemblies>

        <buildProviders>
            <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        </buildProviders>
    </compilation>

    <httpRuntime executionTimeout="5000" />

    <!--New-->
    <httpHandlers>
        <remove verb="*" path="*.asmx" />
        <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
        <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false" />

        <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
    </httpHandlers>
    <httpModules>
        <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </httpModules>

    <customErrors mode="Off" defaultRedirect="ErrorPage.aspx" />
    <authentication mode="Forms">
        <forms name="resultslogin" loginUrl="login.aspx" protection="All" path="/" />
    </authentication>

    <!--New-->
    <authorization>
        <deny users="?" />
    </authorization>

    <!--New-->
    <caching>
        <outputCache enableOutputCache="false" />
    </caching>

    <xhtmlConformance mode="Legacy" />
</system.web>
<system.web>
    <sessionState mode="InProc" timeout="60" />
</system.web>
<system.web>
    <trace enabled="false" traceMode="SortByCategory" requestLimit="40" pageOutput="false" localOnly="true" />
</system.web>
<system.web>
    <httpCookies httpOnlyCookies="true" requireSSL="false" />
</system.web>
<system.webServer>
    <defaultDocument>
        <files>
            <add value="login.aspx" />
        </files>
    </defaultDocument>
</system.webServer>
</configuration>
 

Любой совет будет оценен.

Комментарии:

1. Почему все ваши настройки конфигурации заключены в двойные двойные кавычки: "" ?

2. Я использовал онлайн-форматер HTML, чтобы привести в порядок свой конфигурационный файл, прежде чем копировать его сюда. Я обновил вопрос..

3. Может ли тайм-аут сеанса работать локально? Или это не работает, только если оно опубликовано в iis? В глобальном файле.asax вы установили время ожидания сеанса в событии Session_Start? наконец, вы можете попробовать очистить кеш и повторно использовать пул приложений, чтобы посмотреть, работает ли это.