Почему 10675199.02: 48: 05.4775807 Максимальный интервал времени для раздела компиляции? - PullRequest
7 голосов
/ 29 мая 2010

Я просматривал метаданные для System.Web.Configuration.CompilationSection и заметил следующий атрибут в свойстве TimeSpan BatchTimeout:

[TimeSpanValidator(MinValueString = "00:00:00", 
 MaxValueString = "10675199.02:48:05.4775807")]

Может кто-нибудь объяснить, почему это допустимое максимальное значение? У самого TimeSpan есть верхний предел, так зачем нужна проверка другого значения и почему это число?

Ответы [ 2 ]

8 голосов
/ 06 февраля 2014

Я думаю, что принятый ответ не полностью отвечает на вопрос.Это действительно то же самое максимальное значение.И это не случайно.Но почему определение:

[TimeSpanValidator(MinValueString = "00:00:00", MaxValueString = "10675199.02:48:05.4775807")]

, а не что-то вроде:

[TimeSpanValidator(TimeSpan.Zero, TimeSpan.MaxValue)]

?

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

8 голосов
/ 29 мая 2010

Это как раз максимальное значение TimeSpan.Цитирование MSDN для TimeSpan.MaxValue:

Значение этого поля эквивалентно тикам Int64.MaxValueСтроковое представление этого значения положительное 10675199.02: 48: 05.4775807.

...