1. Créez trois bibliothèques de classes
IUserInfoService.cs
public interface IUserInfoService
{
List<UserInfo> GetUserInfo();
}
UserInfoService.cs
public class UserInfoService: IUserInfoService
{
public List<UserInfo> GetUserInfo()
{
List<UserInfo> info = new List<UserInfo>();
info.Add(new UserInfo {
Id = 1, UserName = "张三"});
return info;
}
}
UserInfo.cs
public class UserInfo
{
public int Id {
get; set; }
public string UserName {
get; set; }
}
2. Nuget a introduit l'intégration d'Autofac et d'Autofac ASP.NET MVC5 dans
MVC 3. AutofacConfig.cs nouvellement créé sous le dossier App_Start
public class AutofacConfig
{
public static void Register()
{
//实例化一个autofac的创建容器
var builder = new ContainerBuilder();
builder.RegisterType<UserInfoService>().As<IUserInfoService>().InstancePerRequest();
builder.RegisterControllers(Assembly.GetExecutingAssembly());
//创建一个Autofac的容器
var container = builder.Build();
//将MVC的控制器对象实例 交由autofac来创建
DependencyResolver.SetResolver(new AutofacDependencyResolver(container));
}
}
4.Global.asax registre AutofacConfig
AutofacConfig.Register();
5. Exemples
private IUserInfoService userinfoService;
//通过构造器注入依赖
public HomeController(IUserInfoService _userinfoService)
{
userinfoService = _userinfoService;
}
public ActionResult Index()
{
List<UserInfo> users = userinfoService.GetUserInfo();
return View();
}
Pour plus de détails, veuillez consulter: https://www.cnblogs.com/wyy1234/p/9144669.html