我想在使用ASP.NET 2.0和SQL Server 2005的新应用程序中实现OpenID.
我选择Twitter,Facebook和Google作为潜在的OpenID提供商.
我在.NET中发现了Twitter的实现,我正在研究Google的OpenID实现,但我想确保我的设计(主要是!)完美无瑕.
我有这个图案
public abstract class BaseController : Controller
{
readonly RepositoryFactory _rep;
protected RepositoryFactory rep
{
get
{
return _rep;
}
}
readonly ManageRoles _man;
readonly ElementAvailableForUser _env;
protected ElementAvailableForUser env
{
get
{
return _env;
}
}
public BaseController()
: this(DependencyResolver.Current.GetService<RepositoryFactory>(),
DependencyResolver.Current.GetService<ManageRoles>(),
DependencyResolver.Current.GetService<ElementAvailableForUser>()) { }
public BaseController(RepositoryFactory rep, ManageRoles man, ElementAvailableForUser env)
{
_rep = rep;
_man = man;
_env = env;
}
}
Run Code Online (Sandbox Code Playgroud)
所以我可以做这样的事情
public class HomeController : BaseController
{
public ActionResult Index()
{
return View(rep.Offers.GetAll());
}
public ActionResult …Run Code Online (Sandbox Code Playgroud) c# design-patterns dependency-injection inversion-of-control asp.net-mvc-3
有人可以给我一个简单的DI和IoC示例吗?
我理解第一个,但无法得到第二个的实现.
我正在使用MVC 3,我真的想使用IDependencyResolver,但我无法理解.
是ninject一个选项还是需要?
是否有像nerdDinner这样的教程,我无法找到它?
有人可以给我一个研究它的链接吗?
dependency-injection ninject inversion-of-control asp.net-mvc-3