2012-09-28 32 views
-1

我有一個使用InstancePerApiRequest註冊的類,但我也需要在請求範圍之外訪問它。當在後臺任務中解決該類時,我收到以下錯誤:「沒有與標籤匹配的範圍」AutofacWebRequest「從請求實例的範圍中可見。」在InstancePerApiRequest之後添加InstancePerLifetimeScope來糾正錯誤,但是這是如何影響實際註冊的。我是否仍然獲得InstancePerApiRequest,或者我是否覆蓋了之前的版本?在Autofac中爲InstancePerApiRequest註冊一個類並在後臺線程中使用

請注意,任務使用.ContinueWith在DelegatingHandler中創建。

如果這是不正確的,我該如何做到這一點?

+0

這沒有多大意義。你想得到哪個實例? – SLaks

+0

在大多數情況下,我希望每個請求都有一個新的實例,除非後臺任務運行在請求/響應之外。後臺任務應該得到一個實例,但是我得到AutofacWebRequest錯誤。 – Thad

回答

0

爲了解決這個問題,我最終使用Named和AsInstancePerLifetime註冊了它們。因此,使用命名生命週期和請求/響應流中的項目使用與InstancePerApiRequest一起註冊的項目來解決任何後臺任務。