2016-01-04 65 views

回答

0

不,您不應該在IOC中註冊用戶會話,用戶會話綁定到HTTP請求,因爲它由輸入請求上可用的Users Session Cookies標識。

解析或保存用戶會話需要訪問當前請求。請參閱會話文檔,以access the current request outside of a Service的不同方式。

+0

使用TryGetCurrentRequest限制只能從http請求使用的存儲庫。如果有一個基於計時器的任務具有用戶帳戶「系統」,並定期更改數據庫,該怎麼辦?版本庫必須以某種方式獲得其「假」(非http)會話。 – smokeing

+0

@smokeing根據預期,傳入的HTTP請求中的會話cookie包含會話ID,如果您不在沒有訪問會話ID的請求的上下文中,除非您將它存儲在別處。如果您在其他地方存儲了sessionId,則可以使用會話ID通過'SessionFeature.GetSessionKey(sessionId)解析會話密鑰,並使用'cache.Get (sessionKey)'從已註冊的'ICacheClient'直接訪問它。 – mythz

相關問題