想实现autofac与我的WebAPI ......但与寿命为我的对象的一些问题...Autofac PerRequest的WebAPI 2 + Owin
我启动的WebAPI类:
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly()).InstancePerRequest();
container.RegisterType<MyConcreteClass>().As<IMyInterface>().InstancePerRequest();
var container = builder.Build();
app.UseAutofacMiddleware(container);
app.UseAutofacWebApi(config);
var csl = new AutofacServiceLocator(container);
ServiceLocator.SetLocatorProvider(() => csl);
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
但不是作品
无法解析类型“IMyInterface的”,因为它是属于在寿命范围不能被定位。以下服务由该登记暴露: - IMyInterface的
细节--->没有与标签匹配的“AutofacWebRequest”范围是其中要求实例的范围可见。
如果web应用程序的执行期间看到这一点,它通常表示正在由SingleInstance()组分(或类似的情况)要求登记为每个HTTP请求的部件。在Web集成下,总是从依赖解析器或请求生存期范围请求依赖关系,而不是从容器本身。 (详细内容见内部例外)
删除此零件.InstancePerRequest();,然后工作,但对象不处理。
我在做什么错了?
谢谢!