Possible NOT to send child objects back to the server?

Possible NOT to send child objects back to the server?

Old forum URL: forums.lhotka.net/forums/t/9179.aspx

James Thomas posted on Wednesday, July 07, 2010


I have a root object in a multi-tiered Silverlight app with a long chain of children that is loaded when the user logs in. They have to wait a few seconds for all the objects to load, but then they can interact as though using a standard desktop application. This works well. BUT when they save (minor) changes to the root object, the whole tree is sent back to the server - taking a long time. Is it possible to mark children as [NotSendable] or something (like [NotUndoable])? I'm assuming I'm not the first to run into this.

Thanks, James.

tmg4340 replied on Wednesday, July 07, 2010

No, you're not the first.  Smile  If you do a search on the forum for something like "datagram", you'll see all sorts of discussions on this.

The short answer is that, out-of-the-box, CSLA does not support what you're wanting to do.  But it is possible, I believe through some custom programming for the DataPortal.  I'm not sure how much work it would entail in a SL context - all the other discussions on this have been in a more traditional client-server context, and modifying the DataPortal to do what you want in those instances is (I think) a little easier.

You might also look into utilizing compression - the general consensus seems to be that compression can do wonders for things like this, and it's going to be a whole lot easier to implement.  Again, a forum search ought to give you the details.


- Scott

RockfordLhotka replied on Wednesday, July 07, 2010

Look at the Csla.DiffGram sample project (in CslaNet\cs). It demonstrates how to implement a diffgram/datagram model for a large object graph, and should work the same in SL as in .NET since it is all at the business object level.

James Thomas replied on Tuesday, July 20, 2010

DiffGram: really useful - thanks!


Copyright (c) Marimer LLC