У меня есть приложение MVC4 с использованием RavenDB в качестве хранилища данных. Приложение имеет уровни MVC/Web, Domain, Data и Security.Как сделать RavenDB DocumentStore доступным для вызовов API
Я пишу пользовательские поставщики членства и роли, которым необходимо инициализировать базу данных и получить доступ к DocumentStore. Я пишу этот класс с уровня безопасности и хотел бы использовать singleton DocumentStore (установленный в приложении), но я не могу понять, как получить к нему доступ.
Другие примеры, которые я вижу в написании пользовательских поставщиков для RavenDB, создают новые экземпляры DocumentStore в методах Provider.Initialize(), но это, похоже, нарушает правило наличия единого DocumentStore на сервер.
В настоящее время я создаю один экземпляр RavenDB DocumentStore в Application_Start(). У меня есть базовый контроллер на уровне MVC/Web, который обрабатывает DocumentStore.Session (s).
Есть ли способ сделать это? Должен ли я переместить логику безопасности в уровень MVC/Web, чтобы упростить ситуацию?
благодарит за synhershko ответа. Это кажется жизнеспособным, но я уже реализовал решение, когда увидел ваш ответ. Это очень похоже (минус DI). [Смотри ниже] –