2012-09-06 26 views
2

在這裏的ServiceStack會議的文件中的內容:我錯過了Servicestack會議文件

https://github.com/ServiceStack/ServiceStack/wiki/Sessions

有一些示例代碼,定義了一個UserSession屬性。我預計該屬性的setter會將新創建的數據存儲對象添加到緩存中。這個示例代碼是否缺少?還是有其他地方的會議數據被添加到緩存?

還有,爲什麼我們既有的sessionId和sessionKey?後者不夠嗎?我們創建多個ID(CreateSessionIds),但只使用一個(GetSessionId)?

回答

0

SessionId只是散列的Guid,SessionKey是unique fully-qualified key,用於引用數據存儲區中的會話(例如Redis)時。

存在着瞬態和永久的會話密鑰定義和使用的一個是由ss-opt cookie指定,並可以由客戶端隨時修改。

+0

這回答了次要問題,但不是主要問題,缺少的添加通話。 – Brannon

+0

一個新的空的會話,並沒有影響,它的存儲與否,所以我們決定不會。每次分配動態會話字段時都會設置它。對於輸入會話,你需要顯式調用[IServiceBase | IHttpRequest]當您想要保存它.SaveSession()方法分機。注意:內置的AuthProviders會在需要時自動保存會話。 – mythz