AppDomains, создаются для каждого запроса?

Вы загружаете веб-страницу, используя протокол URI данных и «test.json», используя файловый протокол. Не разрешается смешивать протоколы. Используйте либо файловый протокол для обоих, либо data uri для обоих ().

8
задан Kev 17 January 2009 в 07:17
поделиться

2 ответа

Я вынужден сказать, что Ваш коллега корректен. В рамках приложения ASP.NET каждое приложение, настроенное как таковой в IIS, работает в его собственном AppDomain, который является объемом одноэлементного объекта. Таким образом, одиночный элемент в App1 доступен всем запросам к App1 (и мог стать параллелизмом, если не обработанный тщательно), но запросы в App2 не смогут получить доступ к одиночному элементу в App1.

Threading and Pooling in the HTTP Pipeline
(источник: microsoft.com)

Эта схема от MSDN Magazine помогает показать, как каждое приложение изолируется в его собственном AppDomain. В то время как схема показывает рабочий процесс IIS5 (aspnet_wp.exe), рабочий процесс IIS6 был бы подобен для приложений, настроенных для выполнения в том же Пуле приложений.

9
ответ дан 5 December 2019 в 17:42
поделиться

Одиночный элемент будет существовать во всем объеме appdomain. Кроме того, все запросы к Вашему приложению перейдут к тому же appdomain, таким образом, Ваш коллега будет на самом деле корректен.

Обновление: вопрос, поощренный любопытством и я нашел "одиночный элемент", который можно использовать на основе на запрос. Я на самом деле не рекомендую это все же. Если кому-то нужен одиночный элемент на запрос затем, они должны найти более подходящий шаблон.

1
ответ дан 5 December 2019 в 17:42
поделиться
Другие вопросы по тегам:

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