想實現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();,然後工作,但對象不處理。
我在做什麼錯了?
謝謝!