Значение “тайм-аута” аутентификации .net Access Forms в коде

Они абсолютно одинаковы и, следовательно, занимают одинаковое количество времени. not in это просто синтаксический сахар. Используя модуль dis, мы можем видеть, что оба результата приводят к одному и тому же байт-коду:

>>> dis.dis("not x in y")
  1           0 LOAD_NAME                0 (x)
              2 LOAD_NAME                1 (y)
              4 COMPARE_OP               7 (not in)
              6 RETURN_VALUE
>>> dis.dis("x not in y")
  1           0 LOAD_NAME                0 (x)
              2 LOAD_NAME                1 (y)
              4 COMPARE_OP               7 (not in)
              6 RETURN_VALUE

Даже добавление скобок в качестве not (x in y) не меняет этого, если, конечно, вы не добавите больше в скобки :

>>> dis.dis("not (x in y)")
  1           0 LOAD_NAME                0 (x)
              2 LOAD_NAME                1 (y)
              4 COMPARE_OP               7 (not in)
              6 RETURN_VALUE
>>> dis.dis("not (x in y or z)")
  1           0 LOAD_NAME                0 (x)
              2 LOAD_NAME                1 (y)
              4 COMPARE_OP               6 (in)
              6 JUMP_IF_TRUE_OR_POP     10
              8 LOAD_NAME                2 (z)
        >>   10 UNARY_NOT
             12 RETURN_VALUE

Протестировано с Python 3.6.7 и 2.7.15.

6
задан aaron 8 May 2009 в 19:12
поделиться

3 ответа

0
ответ дан 8 December 2019 в 03:11
поделиться

Я думаю, вы можете прочитать это из методов статического класса FormsAuthentication, что было бы лучше, чем делать это, читая файл web.config напрямую, поскольку вы можете наследовать настройки аутентификации из сети более высокого уровня. config.

var authTicket = new FormsAuthenticationTicket(user.EmailAddress, true, (int)FormsAuthentication.Timeout.TotalMinutes);
18
ответ дан 8 December 2019 в 03:11
поделиться
 Configuration conn = WebConfigurationManager.OpenWebConfiguration("");

            AuthenticationSection section = (AuthenticationSection)conn.SectionGroups.Get("system.web").Sections.Get("authentication");



            long cookieExpires = System.Convert.ToInt64(section.Forms.Timeout.TotalMinutes);
4
ответ дан 8 December 2019 в 03:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: