2012-02-16 2 views
0

Я хотел бы задать вам этот вопрос, потому что я немного застрял в нем.Отключение сайта Asp.net

Мне интересно, почему, когда я подключаюсь благодаря своей форме входа в систему, и когда я нахожусь на моей странице по умолчанию, после того, как я остаюсь на связи, он отключается и возвращается на страницу входа.

Это мой фактический webconfig.

<configuration> 
    <configSections> 
    </configSections> 
    <connectionStrings> 
    <remove name="LocalSqlServer" /> 
    <add name="LocalSqlServer" connectionString='Data Source=.\SQLEXPRESS; AttachDbFilename = "C:\Users\Maxime\Documents\Visual Studio 2010\Projects\ClientPortal\ApplicationUI\Website\ClientPortal\App_Data\DataUi.mdf";Integrated Security=True;User Instance=True' 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 
    <system.web> 
    <pages validateRequest="false" /> 
    <compilation debug="true" strict="false" explicit="true" targetFramework="4.0" /> 
    <authentication mode="Forms"> 
     <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH"> 
     </forms> 
    </authentication> 
    <authorization> 
     <deny users="?" /> 
     <allow users="*" /> 
    </authorization> 
    <sessionState cookieless="false"/> 
    <httpRuntime maxRequestLength="1048576"/> 
    </system.web> 
    <appSettings> 
    <add key="FolderPath" value="uploads" /> 
    </appSettings> 
    <system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    </system.serviceModel> 
</configuration> 

Нужно ли еще что-то в веб-конфигурации, чтобы отключить эту функцию?

Это немного раздражает ..

+0

Формы печенье может быть просрочены или Session может быть просрочен или пул приложений мог переработанные. – jrummell

+0

О да, точно. Я также проверю настройки в пуле приложений. Но я думаю, что я сделал максимальное время. – Kiwimoisi

ответ

4

Вы используете ASP.Net формы аутентификации. Тайм-аут по умолчанию, для которого составляет 30 минут (полчаса), я удивляюсь, что он простаивает в течение часа.

используйте следующий код для управления периодом ожидания.

<system.web> 
<authentication mode="Forms"> 
     <forms timeout="50000000"/> 
</authentication> 

2

Это потому, что ваш Session получает тайм-аут.

Вы можете сделать некоторые чтения here по этому вопросу и способы фиксации его

1

В формах помечать вам нужно добавить slidingExpiration=true так, что если пользователь активен в течение часа пользователь не будет выполнен выход. Причина, по которой они выходят из системы, состоит в том, что время сеанса заканчивается, и с помощью скользящего истечения сеанс будет расширен для сеанса каждый раз, когда пользователь делает запрос.

1

это небольшой Javascript я использую, чтобы избежать сессий истекают

<script type="text/javascript"> 
    PingAspToKeepSession(); 
    function PingAspToKeepSession() { 
    var url = "KeppSession.aspx"; 
    var httpOb = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP'); 
    httpOb.open("POST", url, true); 
    httpOb.send(""); 
    window.setTimeout("PingAspToKeepSession();", 60000); // every 60 seconds 

    } 
    </script>