BrokenRule not serializable?


Author
Message
PeterA
PeterA
StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)StrataFrame Novice (74 reputation)
Group: Forum Members
Posts: 72, Visits: 235
I've run into some trouble since I solved one problem with business object data disappearing before I wanted it to. I'd switched to using the ASP.NET state server for session handling and solved all the oddball problems I was having with business objects "timing out" and the data disappearing before I was ready for it to. Unfortunately, I now get an error anytime I have broken rules in my object. Here's the stack trace:



[SerializationException: Type 'MicroFour.StrataFrame.Business.BrokenRule' in Assembly 'MicroFour StrataFrame Business, Version=1.6.0.0, Culture=neutral, PublicKeyToken=99fe9917f71608a7' is not marked as serializable.]

System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +2317797

System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +245

System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +88

System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +305

System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +50

System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +438

System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +131

System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1513



[HttpException (0x80004005): 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. The same restriction applies if similar serialization is done by the custom session state store in 'Custom' mode.]

System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1602

System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer) +34

System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer) +627

System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) +257

System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]& buf, Int32& length) +60

System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) +87

System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) +355

System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64




Is there a reason the BrokenRule object wasn't made serializable? Is there any other way I might be able to get this working with ASP.NET State Server without having to completely re-write the application?



Any help would be appreciated.



Thanks!

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...





Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search