2012-12-06 58 views
0

我(用本地會話狀態服務器),類DEF是將對象存儲在會話狀態:會話狀態服務器話說擴展類沒有序列化

[Serializable] 
public class ExtendedOAuth2Parameters : OAuth2Parameters 

但服務仍然是報告:

Unable to serialize the session state. In 'StateServer' and 'SQLServer' mode, ASP.NET will serialize the session state objects, and as a result non-serializable objects or MarshalByRef objects are not permitted. 

[SerializationException: Type 'Google.GData.Client.OAuth2Parameters' in Assembly 'Google.GData.Client, Version=2.1.0.0, Culture=neutral, PublicKeyToken=04a59ca9b0273830' is not marked as serializable.] 

如何解決它?

回答

1

根據錯誤消息,它看起來像基類(Google.GData.Client.OAuth2Parameters)是不可序列化的,所以即使您用Serializable屬性標記了類,完整的類層次結構也不是。

您可能需要使用本身可串行化的低音類,或者如果您有權訪問代碼(可能不需要?),請使Google.GData.Client.OAuth2Parameters類可串行化。請注意,'可序列化'依賴於任何給定類的完整類型樹 - 即所有基類和成員類也都需要可序列化以使封閉類可以真正序列化。

+0

是的,這些都是我的懷疑,我從那以後一直在重構我的代碼,堅持其他的會話並將其保存到第三方類中進行檢索 –

相關問題