Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как компилируется application theme?
|
|||
|---|---|---|---|
|
#18+
Коллеги, кто разбирался в потрохах компиляции application theme? Почему при изменениях в App_Themes директории не происходит перегрузка приложения? Ведь skin файл компилируется в определенный тип. Этот тип нужно где-то хранить. Если тип меняется — его надо выгрузить... А такое чувство, что новые классы просто генерятся и генерятся — лишь бы не допустить перегрузку приложения :) Просто пытались заоптимайзить выбор новой application theme и пытались подсунуть новую, уже скомпилированную. Хрен. Время запроса увеличилось с 0.5 секунд до 3.0 :) Кстати, есть идеи, как можно подсунуть уже скомпилированную тему и при этом не вызвать рестарт приложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2006, 14:30 |
|
||
|
Как компилируется application theme?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Кэр, Вы писали: Кэр>Коллеги, кто разбирался в потрохах компиляции application theme? Page.InitializeThemes() private void InitializeThemes() { string text1 = this.Theme; if (!string.IsNullOrEmpty(text1)) { BuildResultCompiledType type1 = ThemeDirectoryCompiler.GetThemeBuildResultType(this.Context, text1); if (type1 == null) { throw new HttpException(SR.GetString("Page_theme_not_found", new object[] { text1 })); } this._theme = (PageTheme) type1.CreateInstance(); this._theme.Initialize(this, false); } } Есть еще Page.InitializeStyleSheet() ThemeDirectoryCompiler работает через PageThemeBuildProvider. Кэр>Почему при изменениях в App_Themes директории не происходит перегрузка приложения? Ведь skin файл компилируется в определенный тип. Этот тип нужно где-то хранить. Если тип меняется — его надо выгрузить... Видимо, решили что частое изменение в темах на продакшн сервере не планируется. Кэр>А такое чувство, что новые классы просто генерятся и генерятся — лишь бы не допустить перегрузку приложения :) Как видите, именно так. Кэр>Просто пытались заоптимайзить выбор новой application theme и пытались подсунуть новую, уже скомпилированную. Хрен. Время запроса увеличилось с 0.5 секунд до 3.0 :) Кстати, есть идеи, как можно подсунуть уже скомпилированную тему и при этом не вызвать рестарт приложения? А зачем нужна подобная оптимизация? Если изменений не было, то тема подгружается уже скомпилированная.Круглое — носить, квадратное — катать! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2006, 17:20 |
|
||
|
Как компилируется application theme?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: G>Page.InitializeThemes() G> G>private void InitializeThemes() G>{ G> string text1 = this.Theme; G> if (!string.IsNullOrEmpty(text1)) G> { G> BuildResultCompiledType type1 = ThemeDirectoryCompiler.GetThemeBuildResultType(this.Context, text1); G> if (type1 == null) G> { G> throw new HttpException(SR.GetString("Page_theme_not_found", new object[] { text1 })); G> } G> this._theme = (PageTheme) type1.CreateInstance(); G> this._theme.Initialize(this, false); G> } G>} G> G>Есть еще Page.InitializeStyleSheet() G>ThemeDirectoryCompiler работает через PageThemeBuildProvider. Угу, reflector'ом забирались еще глубже, пытаясь постичь дао кэшинга application theme. Но там столько всего, что за один вечер вычитать не удалось. Надеялся, что кто-то уже прошел этим путем и может даже чиркнул статью-другую :) Кэр>>Просто пытались заоптимайзить выбор новой application theme и пытались подсунуть новую, уже скомпилированную. Хрен. Время запроса увеличилось с 0.5 секунд до 3.0 :) Кстати, есть идеи, как можно подсунуть уже скомпилированную тему и при этом не вызвать рестарт приложения? G>А зачем нужна подобная оптимизация? Если изменений не было, то тема подгружается уже скомпилированная. У сайта может быть заменена вся тема. После этого проходит некоторое время на генерацию кода классов и его компиляцию. Вдобавок на этом шаге иногда все может свалится "неизвестный тэг", "плохое форматирование" и т.п. Предварительной компиляцией хотелось решить обе эти проблемы. Но видимо малой кровью эту проблему не решить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.11.2006, 06:54 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=838&tid=1387937]: |
0ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 317ms |

| 0 / 0 |
