Я разрабатываю общий слой, который позволяет мне выполнять основные операции сохранения, удаления и загрузки, однако натолкнулся на момент, на который я тоже не знаю ответа, и сразу подумал о StackOverflow.
У меня есть приложение asp.net, которое ссылается на отдельный проект (бизнес-уровень, который содержит все мои определения классов). Один из моих классов (ObjectFactory) занимается созданием экземпляров объектов и сохраняет их в статическом словаре (в частном порядке). Идея состоит в том, что, если он уже был создан, он получит свое определение из статической коллекции. Я решил сделать это, потому что я хочу получить propertyinfo [] класса только один раз, так как согласно статье MSDN Джоэла Побара получение этой информации довольно дорого.
Мой вопрос таков: хотя проект asp.net ссылается на мою библиотеку классов, которая содержит всю мою бизнес-логику, будет ли эта статическая коллекция доступна глобально? Например, если два пользователя одновременно находятся на моем сайте и имеют доступ к двум отдельным частям моего сайта, что включает создание экземпляров двух отдельных объектов, будет ли кэш в ObjectFactory содержать оба элемента? Или статическая коллекция для каждого пользователя, т.е. статическая коллекция будет содержать элементы только для определенного пользователя?
Поскольку мой бизнес-уровень не имеет доступа к веб-кешу, я не уверен, стоит ли делать мой бизнес-уровень ссылкой на System.Web, а затем вставлять в него?
Извините, если я кого-то запутал, но я более чем рад предоставить дополнительную информацию, если потребуется.
Заранее спасибо, Онам.