У многих людей есть очень интересные методы, но мне нравится держать их простыми, поэтому я иду с этим:
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();
}
Переработайте закрывает процесс, размещающий appdomain. Вы заметите, что PID изменяется при переработке его.
Разгрузка AppDomin просто разгружает все блоки в AppDomain, который может тогда быть снова использован.
важная вещь помнить состоит в том, что, как только CLR загружается в процесс, он не может быть удален. Таким образом, если необходимо было сделать что-то, как только CLR загружается, тогда просто разгружение AppDomain не поможет, потому что CLR не будет перезагружен.
Также не, что IIS не является единственным процессом, который может разместить AppDomain - любой процесс может, и Вы не всегда хотите уничтожить целый процесс только для разгрузки блоков.
Смотрите на это - который мог бы объяснить его:
В целом. То, что называют "первым хитом" на Веб-сайте ASP.NET, обычно занимает время, из-за компиляции и создания AppDomain.
Каждый раз, когда Вы развертываете сайт - удостоверяются, что использовали, "Публикуют Веб-сайт" функция в Visual Studio, чтобы предварительно скомпилировать Ваш веб-сайт. Тогда "первый хит" штраф уменьшается. И не забудьте устанавливать конфигурацию для Выпуска, и не Отладка!
Если Ваши страницы "обновляемы", они должны быть скомпилированы перед использованием. Это означает, да, по первому запросу, блоки загружены, скомпилированы и приготовлены для доступа. Каждый раз, когда эти файлы изменяются (даже некоторое вирусное программное обеспечение может инициировать это путем изменения измененной даты файлов!), appdomain переработан.
можно настроить веб-приложение, чтобы не быть обновляемыми. Все компилируется в DLLs, и Вы не будете видеть.ASPX или.CS файлов в виртуальном каталоге. Это делает Ваш код тяжелее для обновления (должен поместить некоторый дополнительный текст на веб-страницу? Перекомпилируйте время!), но это увеличивает доступность Вашего веб-приложения.
Однако это все еще не будет препятствовать тому, чтобы Ваше веб-приложение было переработано, если какой-либо из файлов будет изменен. Например, при редактировании web.config appdomain переработает даже если его скомпилированный.