﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » BrokenRule not serializable?</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Tue, 09 Jun 2026 03:12:42 GMT</lastBuildDate><ttl>20</ttl><item><title>BrokenRule not serializable?</title><link>http://forum.strataframe.net/FindPost12223.aspx</link><description>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:&lt;br&gt;
&lt;br&gt;
[quote][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.]&lt;br&gt;
   System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) +2317797&lt;br&gt;
   System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) +245&lt;br&gt;
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() +88&lt;br&gt;
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +305&lt;br&gt;
   System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.Serialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) +50&lt;br&gt;
   System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) +438&lt;br&gt;
   System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) +131&lt;br&gt;
   System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1513&lt;br&gt;
&lt;br&gt;
[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.]&lt;br&gt;
   System.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer) +1602&lt;br&gt;
   System.Web.SessionState.SessionStateItemCollection.WriteValueToStreamWithAssert(Object value, BinaryWriter writer) +34&lt;br&gt;
   System.Web.SessionState.SessionStateItemCollection.Serialize(BinaryWriter writer) +627&lt;br&gt;
   System.Web.SessionState.SessionStateUtility.Serialize(SessionStateStoreData item, Stream stream) +257&lt;br&gt;
   System.Web.SessionState.SessionStateUtility.SerializeStoreData(SessionStateStoreData item, Int32 initialStreamSize, Byte[]&amp; buf, Int32&amp; length) +60&lt;br&gt;
   System.Web.SessionState.OutOfProcSessionStateStore.SetAndReleaseItemExclusive(HttpContext context, String id, SessionStateStoreData item, Object lockId, Boolean newItem) +87&lt;br&gt;
   System.Web.SessionState.SessionStateModule.OnReleaseState(Object source, EventArgs eventArgs) +355&lt;br&gt;
   System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92&lt;br&gt;
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +64[/quote]&lt;br&gt;
&lt;br&gt;
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?&lt;br&gt;
&lt;br&gt;
Any help would be appreciated.&lt;br&gt;
&lt;br&gt;
Thanks!&lt;br&gt;</description><pubDate>Sat, 27 Oct 2007 15:28:05 GMT</pubDate><dc:creator>PeterA</dc:creator></item><item><title>RE: BrokenRule not serializable?</title><link>http://forum.strataframe.net/FindPost12235.aspx</link><description>Glad it fixed your problem!&amp;nbsp; Well, these types of fixes are not an official release so we do not rebuild the source for each as this requires some effort and is part of the installation build cycle.&amp;nbsp; We will release 1.6.2 farily soon which has all of these changes and many more.&amp;nbsp; We send out a notification whenever we post a new build.&amp;nbsp; &lt;P&gt;Glad this took some stress of...now hopefully you can enjoy the remainder of your weekend! :)</description><pubDate>Sat, 27 Oct 2007 15:28:05 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BrokenRule not serializable?</title><link>http://forum.strataframe.net/FindPost12234.aspx</link><description>[quote][b]Trent L. Taylor (10/26/2007)[/b][hr]If you look at the source code, the BrokenRules collection did have the Serialize() attribute....but the BrokenRule item did not. I added the Serialize() attribute to the BrokenRule class. See if this resolves your problem. You may have to restart IIS or restart the application pool once you have copied out the new assemblies before they take effect.[/quote]&lt;br&gt;
&lt;br&gt;
That's what I noticed in the source when I reviewed it. I would have made the change myself and compiled the assemblies, but there's been enough fixes made that we don't have the most updated version of the source code (we have whatever is available for download when we bought the framework. Does the source code installer get updated when you guys make a fix for us (or anyone else, for that matter)?&lt;br&gt;
&lt;br&gt;
Thanks for putting a rush on this. I downloaded and installed the new assemblies and it fixed the problem. Big load off my stress. :)&lt;br&gt;
&lt;br&gt;
Thanks!</description><pubDate>Sat, 27 Oct 2007 12:22:57 GMT</pubDate><dc:creator>PeterA</dc:creator></item><item><title>RE: BrokenRule not serializable?</title><link>http://forum.strataframe.net/FindPost12231.aspx</link><description>If you look at the source code, the BrokenRules collection did have the Serialize() attribute....but the BrokenRule item did not.&amp;nbsp; I added the Serialize() attribute to the BrokenRule class.&amp;nbsp; See if this resolves your problem.&amp;nbsp; You may have to restart IIS or restart the application pool once you have copied out the new assemblies before they take effect.</description><pubDate>Fri, 26 Oct 2007 16:37:10 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>