IOC使用
1.public static void InitAutoFac()
{
//得到你的HttpConfiguration.
var configuration = GlobalConfiguration.Configuration;
var builder = new ContainerBuilder();
//注冊控制器
//builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).PropertiesAutowired();
可選:注冊Autofac過濾器提供商.
//builder.RegisterWebApiFilterProvider(configuration);
var webapiAssembly = Assembly.Load("SpecialtyTests.API");
builder.RegisterAssemblyTypes(webapiAssembly);
var bll = Assembly.Load("SpecialtyTests.BLL");
builder.RegisterAssemblyTypes(bll);
var _interfaceType = typeof(IDALBase);
/*注冊的DAL*/
builder.RegisterAssemblyTypes(Assembly.Load("SpecialtyTests.DAL")).Where(m => _interfaceType.IsAssignableFrom(_interfaceType)).AsImplementedInterfaces().InstancePerLifetimeScope();
IContainer container = builder.Build();
//將依賴關系解析器設置為Autofac。
var resolver = new AutofacWebApiDependencyResolver(container);
configuration.DependencyResolver = resolver;
}
}
?
2.
public class WebApiApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AutoFacConfig.InitAutoFac();//調用InitAutoFac()方法執行
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
using Autofac;
using Autofac.Integration.WebApi;
?
3.把方法寫接口里
??
UserInterFace dal;
public UserLoginBll(UserInterFace user)
{
dal = user;
}
?
?
轉載于:https://www.cnblogs.com/MenBe/p/10121698.html
總結
- 上一篇: python_base_while循环、
- 下一篇: bugku-杂项 听首音乐