Полагаю, ответ будет зависеть от того, представляет ли MongoSession
единицу работы или нет.Большинство связанных с базой данных классов, с которыми я работал (в основном в контексте ORM, например, NHibernate или EF4), вращаются вокруг контекста, сущностей и отслеживаемого состояния, которые представляют единицу работы .Единица работы никогда не должна храниться дольше, чем период времени, необходимый для выполнения данной единицы работы, после чего единицу работы следует зафиксировать или откатить назад.Это означало бы, что вы должны использовать RequestScope
.
Если ваш MongoSession
равен , а не единицей работы, вы можете оставить его на время жизни сеанса MVC, и в этом случаеSessionScope
тогда будет уместно.