Что такое утилизация Appdomain?

У многих людей есть очень интересные методы, но мне нравится держать их простыми, поэтому я иду с этим:

public static String padRight(String s, int n, char padding){
    StringBuilder builder = new StringBuilder(s.length() + n);
    builder.append(s);
    for(int i = 0; i < n; i++){
        builder.append(padding);
    }
    return builder.toString();
}

public static String padLeft(String s, int n,  char padding) {
    StringBuilder builder = new StringBuilder(s.length() + n);
    for(int i = 0; i < n; i++){
        builder.append(Character.toString(padding));
    }
    return builder.append(s).toString();
}

public static String pad(String s, int n, char padding){
    StringBuilder pad = new StringBuilder(s.length() + n * 2);
    StringBuilder value = new StringBuilder(n);
    for(int i = 0; i < n; i++){
        pad.append(padding);
    }
    return value.append(pad).append(s).append(pad).toString();
}
42
задан kudlur 1 September 2008 в 07:24
поделиться

3 ответа

Переработайте закрывает процесс, размещающий appdomain. Вы заметите, что PID изменяется при переработке его.

Разгрузка AppDomin просто разгружает все блоки в AppDomain, который может тогда быть снова использован.

важная вещь помнить состоит в том, что, как только CLR загружается в процесс, он не может быть удален. Таким образом, если необходимо было сделать что-то, как только CLR загружается, тогда просто разгружение AppDomain не поможет, потому что CLR не будет перезагружен.

Также не, что IIS не является единственным процессом, который может разместить AppDomain - любой процесс может, и Вы не всегда хотите уничтожить целый процесс только для разгрузки блоков.

2
ответ дан Cory Foy 1 September 2008 в 07:24
поделиться

Смотрите на это - который мог бы объяснить его:

http://weblogs.asp.net/owscott/archive/2006/02/21/ASP.NET-v2.0 - 2D00 -AppDomain-recycles_2C00_-more-common-than-before.aspx#440333

В целом. То, что называют "первым хитом" на Веб-сайте ASP.NET, обычно занимает время, из-за компиляции и создания AppDomain.

Каждый раз, когда Вы развертываете сайт - удостоверяются, что использовали, "Публикуют Веб-сайт" функция в Visual Studio, чтобы предварительно скомпилировать Ваш веб-сайт. Тогда "первый хит" штраф уменьшается. И не забудьте устанавливать конфигурацию для Выпуска, и не Отладка!

7
ответ дан MartinHN 1 September 2008 в 07:24
поделиться

Если Ваши страницы "обновляемы", они должны быть скомпилированы перед использованием. Это означает, да, по первому запросу, блоки загружены, скомпилированы и приготовлены для доступа. Каждый раз, когда эти файлы изменяются (даже некоторое вирусное программное обеспечение может инициировать это путем изменения измененной даты файлов!), appdomain переработан.

можно настроить веб-приложение, чтобы не быть обновляемыми. Все компилируется в DLLs, и Вы не будете видеть.ASPX или.CS файлов в виртуальном каталоге. Это делает Ваш код тяжелее для обновления (должен поместить некоторый дополнительный текст на веб-страницу? Перекомпилируйте время!), но это увеличивает доступность Вашего веб-приложения.

Однако это все еще не будет препятствовать тому, чтобы Ваше веб-приложение было переработано, если какой-либо из файлов будет изменен. Например, при редактировании web.config appdomain переработает даже если его скомпилированный.

1
ответ дан Will 1 September 2008 в 07:24
поделиться
Другие вопросы по тегам:

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