2016-12-04 3 views
0

Я хочу обновить тайм-аут сеанса из C кодаКак обновить тайм-аут сеанса в файле формы web.config Код C#?

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

Я использую Session.Timeout=50 и что работает отлично #, но я хочу, чтобы изменить значение в файле Web.Config.

После завершения файла действий должно быть обновление как

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

ответ

0

При использовании session.timeout = 50 в вашем коде. это не повлияет на ваш файл конфигурации. Вместо того, чтобы пытаться изменить web.config, как насчет метода Session_Start файла Global.asax и установите Session.TimeOut на все, что вы хотите.

Подробнее:

https://msdn.microsoft.com/en-us/library/system.web.sessionstate.httpsessionstate.timeout(v=vs.110).aspx

добавить эти строки в global.asax

protected void Session_Start(object src, EventArgs e) 
     { 
      if (Context.Session != null) 
      { 
       if (Context.Session.IsNewSession) 
       { 
        Context.Session.Timeout = 50; 

       } 
      } 
     } 
+0

Можно ли изменить способ, которым мы можем изменить строку подключения из C# кода 'конфигурации вар = WebConfigurationManager.OpenWebConfiguration ("~"); var section = (ConnectionStringsSection) configuration.GetSection ("connectionStrings"); section.ConnectionStrings ["MyConnectionString"]. ConnectionString = "Источник данных = ..."; configuration.Save(); ' –

+0

да это возможно. вы можете изменить любые параметры конфигурации в web.config из вашего кода. – ahankendi

+0

можете ли вы написать код для изменения тайм-аута сеанса? Мне не удалось получить 'sessionState' из раздела' system.web' –