2
我有下面的代碼,我使用一個Web API DelegatingHandler添加新的組件刪除所有組件的現有註冊
var registration = RegistrationBuilder
.ForDelegate((c, p) => sessionData)
.ExternallyOwned()
.AsSelf()
.InstancePerRequest()
.CreateRegistration();
var componentRegistry = ((AutofacWebApiDependencyScope) request.GetDependencyScope()).LifetimeScope.ComponentRegistry;
componentRegistry.Register(registration, true);
註冊我有幾個註冊的組件之前,但加入新的後一,所有其他註冊都沒有了,只有我添加的一個存在。有誰知道爲什麼會發生這種情況?我查看了Autofac代碼,找不到爲什麼會發生這種情況的原因,但也許我錯過了一些顯而易見的事情。
更新1
那麼多挖掘一下後,起初我有18名註冊,加入新的後我基本上是一個,如果我嘗試使用相同的範圍,以解決該組件,沒有任何問題。稍後在執行過程中,當控制器被擊中時,範圍仍然有18個註冊,但不是我添加的註冊。是否有可能將註冊添加到其他範圍?我檢查了它,標籤確實是「AutofacWebRequest」之一。
謝謝
聽起來很正常,你有什麼問題嗎? :-) –
那麼,我預計有19個註冊不是18,除非我錯過了某些東西,可能就是這樣。 – Marco