ServiceLocator / IOC в среде ASP.Net - PullRequest
       21

ServiceLocator / IOC в среде ASP.Net

0 голосов
/ 21 сентября 2009

У меня есть домашний фреймворк, который включает простой класс ServiceLocator, реализованный с использованием статического словаря. Он был разработан для среды WinForms и отлично делал то, что хотел.

Это оказывается катастрофой при использовании фреймворка в качестве фреймворка ASP.Net; словарь, статическая переменная, создается при первом использовании, и каждое приложение ASP.Net использует один и тот же словарь. Это НЕ мое дизайнерское намерение.

Например, веб-приложение пытается зарегистрировать службу аудита БД, IAuditService. Ошибка!! Сервис уже зарегистрирован первым пользователем! Это лишь подсказка о проблемах со статическими переменными, которые могут возникнуть в среде ASP.Net.

Я экспериментировал с Autofac IOC. Могу ли я избежать проблем со статическими переменными, используя Autofac (или другой IOC)?

BP ....

Ответы [ 2 ]

0 голосов
/ 24 ноября 2010

Я добавляю новый тип создания экземпляра в свой ServiceLocation, специфичный для веб-приложения.

0 голосов
/ 21 сентября 2009

Вы можете использовать платформу IOC, но если вы хотите, чтобы объект оставался вокруг, вам придется хранить его самостоятельно, в противном случае вы просто будете каждый раз запрашивать новый объект из контейнера IOC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...