Использование AppDomain в C#

Насколько я понимаю, вы хотите переключать логотип изображения на основе высоты прокрутки: вы можете хранить ссылки в атрибутах данных, таких как:


и переключать значение атрибута src с помощью JQuery:

[ 111]

, чтобы добавить логотип в src при загрузке страницы:

$(document).ready(function(){
    $('.navbar-brand img').attr('src',$('.navbar-brand img').data('logo'));
});

jsfiddle демо .

Надеюсь, что помогает:)

72
задан user 9 July 2012 в 04:11
поделиться

3 ответа

единственный самый важный использование состоит в том, что Ваш код должен иметь один - т.е. все, что Вы пишете в C#, выполняется в AppDomain. Это довольно важно;-p

, Если Вы имеете в виду дополнительный домены приложения:

При использовании плагинов и другого недоверяемого кода, это позволяет Вам обоим изоляцию и способность разгрузить их (Вы не можете разгрузить блоки - только домены целого приложения).

я использую его в настоящее время для загрузки динамично сгенерированного dlls, так, чтобы я мог разгрузить их.

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

MSDN имеет раздел по доменам приложения, здесь .

76
ответ дан Marc Gravell 24 November 2019 в 12:39
поделиться

Я не могу сказать Вам, каково самое важное использование, так как это зависит от ситуации.

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

AppDomains может быть просмотрен как легкие процессы, поскольку они дают Вам многие из тех же функций. Однако в отличие от Процесса новые AppDomains не имеют своего собственного потока на значение по умолчанию. Необходимо управлять AppDomains и потоками сами.

кроме того, AppDomains вся доля та же управляемая "куча". Это обычно - не проблема, но она может иметь удивительные эффекты, поскольку некоторыми экземплярами как строки является общий для AppDomains. Для регулярного использования это не проблема, но если Вы используете строки для блокировки, потоки в другом AppDomain могут влиять друг на друга.

30
ответ дан Brian Rasmussen 24 November 2019 в 12:39
поделиться

В целом это так ежедневно не кодирует практику для использования AppDomains, это можно было считать чем-то как усовершенствованное понятие.. но, начиная с этой простой вещи, важно лучше понять понятия позади слова "AppDomain".

С точки зрения архитектуры и взятия его простой как возможный, AppDomain является контейнером изоляции даже с точки зрения обращения памяти во всем этом, блоки, необходимые приложению, загружаются и выполняются, даже если это понятие более сложно для объяснения в деталях (я надеюсь, что это не о yor вопросе движению настолько глубже).

Запуск оттуда, класс AppDomain, в первую очередь, используется для получения доступа к связанному с приложением домену приложения выполнения, это могло быть сделано через реализацию свойства Singleton AppDomain.CurrentDomain. Таким образом возможно:

  1. получают доступ загруженные блоки;
  2. получают доступ к слотам appdomain-совместно-используемых-данных;
  3. маршалинг intems, с точки зрения разворачивания созданных экземпляров от загруженных блоков в созданных доменах.

Затем класс AppDomain привык к:

  1. создают больше "доменов" в том же процессе;
  2. выполняющиеся блоки в процессе;
  3. управляют appdomain's, загружающим/разгружающим процесс.

могло быть полезно получить представление кода новой платформы Microsoft (еще не выпущенный) MEF (Управляемая Платформа Extesibility) , который действительно основан на понятиях как создания AppDomains, и разгрузитесь, динамично загруженные блоки.

Как простой пример вещей и примеры того, что можно сделать с AppDomains, я могу совместно использовать этот ссылка .

я надеюсь, что ответил на Ваш вопрос.

22
ответ дан Massimiliano Kraus 24 November 2019 в 12:39
поделиться
Другие вопросы по тегам:

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