【发布时间】:2013-03-16 03:13:37
【问题描述】:
我目前正在开发一个 MVC4 项目,我使用 if Ninject 将 UnitOfWork 注入到我的控制器中,并且我正在使用 UnitOfWork + Generic Repository 模式。
我不喜欢 VS2012 MVC4 模板,因为它直接使用数据库访问(例如数据库初始化)。
我的项目分为:
一个 UI 项目(mvc4 应用程序),带有表单身份验证
一个域项目(数据库实体、存储库、UnitOfWork 接口以及两个 UnifOfWork 实现,一个带有 MOQ,一个带有 EF;它们通过 Ninject 注入 UI 控制器)。
我看了这个例子:
http://kevin-junghans.blogspot.it/2013/03/decoupling-simplemembership-from-your.html
与这个问题有关
SimpleMembership - anyone made it n-tier friendly?
现在我有一个问题:
如何在此处注入我的 UoW? WebSecurity 类是静态的,没有构造函数,它直接实例化 UoW 以在 db 上执行活动 ...
-
我总是必须初始化 WebMatrix 才能直接访问 DB?这段代码:
public static void Register() { Database.SetInitializer<SecurityContext>(new InitSecurityDb()); SecurityContext context = new SecurityContext(); context.Database.Initialize(true); if (!WebMatrix.WebData.WebSecurity.Initialized) WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); }
打破了我与域的解耦。例如,我如何使用我的 UnitOfWork 来制作 WebSecurity?最佳做法是什么?
- 如何存储其他数据(例如,EmailAddress 等)并检索它,而无需在每次必须访问用户配置文件时执行数据库查询?类似于旧的 CustomPrincipal ... Custom principal in ASP.NET MVC
谢谢!
【问题讨论】:
标签: authentication asp.net-mvc-4 dependency-injection unit-of-work simplemembership