1
我有一個應用程序,其中共享對象需要對每個請求對象的引用。Autofac:從SingleInstance的類型引用到HttpRequestScoped
Shared: Engine | Per Req: IExtensions() | Request
如果我嘗試將IExtensions
直接注入的Engine
構造,即使Lazy(Of IExtension)
,我得到一個「沒有匹配的範圍[要求]是其中要求實例的範圍是可見的。」當它試圖實例化每個IExtension
時例外。
如何創建一個HttpRequestScoped實例,然後將其注入共享實例?
將它設置在Request
的工廠(因此將Engine
注入RequestFactory
)會被認爲是一種很好的做法嗎?
非常感謝您的解決方案。 我花了一點時間找出在VB中我需要在Register()調用中自己構造一個函數,但現在它工作:D Autofac註冊的lambda是:Function(c)New Func(Of IExtensions)(函數()RequestContainer.Resolve(的IExtensions)()) – wagi 2010-04-08 21:44:18
啊,很酷。很高興能幫上忙! – 2010-04-09 06:33:24