gpt4 book ai didi

c# - IoC 和 ASP.NET MVC Controller

转载 作者:太空狗 更新时间:2023-10-29 22:29:28 24 4
gpt4 key购买 nike

我应该按照这个思路做些什么吗?我正在考虑从 BaseController 继承的所有 Controller 。这是否打破了 IoC 的设计模式?我还应该做什么?

public class BaseController: Controller
{
protected ICookieService CookieService {
get {
return ServiceResolver.Resolve<ICookieService>(new { HttpContext = HttpContext });
}
}
protected IDateTimeService DateTimeService {
get {
return ServiceResolver.Resolve<IDateTimeService>();
}
}
protected ISettingsService SettingsService {
get {
return ServiceResolver.Resolve<ISettingsService>();
}
}

}

最佳答案

使用构造函数注入(inject)并让 controllerfactory 为您注入(inject)它会简单得多。如果可以,如果可以避免构造函数注入(inject),请不要使用服务定位器(您的 ServiceResolver )。

Adding a controller factory to ASP MVC 上有一些信息

该链接显示了如何使用 StructureMap 执行此操作,看起来您正在使用 Unity,但应该很容易适应。

关于c# - IoC 和 ASP.NET MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/953834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com