Контейнеры и веб-приложения МОК - PullRequest
0 голосов
/ 24 мая 2011

Я начал работать над этим веб-приложением .NET, где у него есть контейнер IOC (Windsor) для создания бизнес-менеджеров и хранения их в памяти до тех пор, пока IIS не перезапустит их. В основном эти бизнес-менеджеры имеют свои собственные состояния и данные, содержимое которых модифицируется из фоновых потоков, которые запускаются в Application_Start. Это не тот способ, которым я ожидал, что веб-приложение будет работать (которое должно быть без сохранения состояния и на поток для каждого запроса), и я не совсем уверен, является ли эта реализация устойчивой / масштабируемой. Кто-нибудь пробовал вещи таким образом, если да, каковы последствия / плюсы, которые вы видите в этом?

1 Ответ

1 голос
/ 24 мая 2011

Мы используем статику в приложении, только для основных функций.Статические классы являются общими для всех запросов, поэтому удобство использования должно быть несколько низким.В мире разработки мы видим, как статики появляются все больше и больше: ASP.NET MVC 3 использует их для различных областей приложения, а также для других популярных исходных библиотек ОС.

Пока это не так.их не так много, с вами должно быть все в порядке ... но вы всегда можете проверить с помощью профилировщика памяти и увидеть, насколько большими они становятся, и не слишком ли они высасывают память.

Другая альтернативаможет быть, чтобы поместить их в кэш, или перестроить их и хранить их в каждом запросе.Чтобы хранить их глобально в запросе, используйте HttpContext.Current.Items collection.

...