我正在使用Castle Windsor並嘗試使用LifestylePerWebRequest
。但是,我需要使用工廠方法來創建我的對象,所以我有以下注冊。使用PerWebRequest生活方式的工廠方法
Component.For<IMyComponent>()
.UsingFactoryMethod(CreateMyComponent)
.LifestylePerWebRequest()
當我把一個斷點CreateMyComponent
,我看到了一個請求期間打了好幾次。這似乎不像PerWebRequest生活方式的正確行爲。這兩個不兼容?我在這裏做錯了什麼?
我開始懷疑這種情況。 – cadrell0
只要Windsor根據實際的HTTP請求調用您的方法一次 - 不管該HTTP請求是來自ajax請求,css文件還是其他資源 - 它都按設計工作。單頁面加載可能包含多個HTTP請求,從而導致您的方法被多次調用。這仍然是正確的行爲。 –
是的,我剛剛發現我的應用程序組件中的其他地方正在解析並放置在每個請求的'HttpContext.Current.Items'中。這包括CSS和JS請求。這可能是問題的根源。 – cadrell0