2010-06-29 60 views
0

我正在用ASP.NET MVC構建一個小的CMS系統,並且我有一個使用由實現使用Castle Windsor的工廠實例化的userRepository的自定義角色提供程序。更改數據庫時,爲什麼我的自定義角色提供程序不更新角色?

具有管理員權限的人可以使用後端管理來更改保存在數據庫中的用戶的角色。

但是,無論何時登錄到剛更改角色的用戶(我目前使用測試用戶),角色都不會更新。我嘗試登出並再次登錄,但沒有結果 - 我用過的角色保持不變。我也嘗試清除瀏覽器的緩存和Cookie,但沒有結果。

數據在數據庫中正確更新。

我已經嘗試輸出登錄用戶的角色,所以我可以看到數據是否在我的自定義角色提供程序中更新,但角色提供程序中的數據保持不變。顯然,角色提供者並沒有從每個請求的數據庫中獲取數據。

有趣的是,如果我改變一個角色並重新發布我的網站,改變應該是這樣。它不是每次重新發布我的網站的選項,管理員都會改變用戶的角色。那不是很有活力。

關於爲什麼發生這種情況以及我如何解決它的任何想法?

回答

0

我猜你的角色提供者是一個單身人士,這是溫莎的默認生活方式,因此取決於你如何實現它,它可能會保留它在第一次請求時拉取的數據。 使其成爲PerWebRequest或瞬態。

See the documentation for more details on lifestyles

相關問題