私は、すべてのセッションをシリアル化する必要がある外部セッション状態サーバーを使用する必要があります。私は[Serializeable()]
属性を使用して、セッションにシリアル化可能なすべてのクラスを保存しようとしています。ASPXページをシリアル化しますか?
しかし、私は次のエラー得続ける:
StateServer
で
Unable to serialize the session state.
とSQLServer
モードを、ASP.NETは、セッション状態オブジェクトをシリアル化し、結果として非直列化可能オブジェクトまたはMarshalByRef
オブジェクトが許可されていません。同じ制限が、 'Custom
'モードのカスタムセッション状態ストアによって同様のシリアル化が行われた場合にも適用されます。
さらに興味深いしかしスタックトレースです:
[SerializationException: Type 'ASP.useroverview_aspx' in Assembly 'App_Web_pwonykbc, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.]
System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +9452985
System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +247
System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +160
System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter, SerializationBinder binder) +218
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Write(WriteObjectInfo objectInfo, NameInfo memberNameInfo, NameInfo typeNameInfo) +388
System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +444
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +133
System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1708
タイプASP.useroverview_aspx
は限り私はASPXページを知っているようです。ロードするページはUseroverview.aspx
です。しかし、私はこのページをセッションに保存しようとしません。だからこのエラーは私にかなり不思議に思う。
私はコードビハインドで次の操作を実行しようとした:
[Serializable()]
public partial class UserOverview : Page
{
private static readonly int TimerInterval = HttpContext.Current.IsDebuggingEnabled ? 2000 : 750;
// ...
}
これは全く役に立ちませんでした!
だから、私はASPXページをシリアライズできるのだろうか?これが理にかなっているかどうかは分かりません。疑わしい!
おかげで...
なぜページクラスをセッションに保存しようとしていますか?何かがうまくいきません。 – Chandu
セッションにそのページのインスタンスを格納しているようです。あなたの解決策で 'Session'をすばやく検索して、犯人を見つけることができるかどうか確認してください。 –
セッション状態のオブジェクトの1つにページへの参照があると思われます。 –