Soap Serializer in Csla 2.14 - How can I NOT use it?

Soap Serializer in Csla 2.14 - How can I NOT use it?

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


RobKraft posted on Thursday, September 13, 2007

I have an app that I would like to work both through .Net Remoting, and without .Net Remoting.  We've been developing this app all year.  A few months ago we successfully testing using a .Net Remoting deployment.  I decided to test it again today to identify which classes we forgot to mark as [Serializable()].  I discovered one, fixed that one and recompiled/redeployed.  Then the problems began.

I can no longer get my second Data.Portal call to work.  Previously I ran through about 100, but now the second call fails with this message:

"Soap Serializer does not support serializing Generic Types"

The error implies I am using a Generic.List in the class I am passing through the DataPortal.  I AM doing this, but I don't understand why it worked previously.  I also don't understand why it is using a Soap Serializer.  I took the entry for soap out of my web.config (it is not in ANY web.config on my computer). 

<formatter ref="soap" typeFilterLevel="Full"/>

I even rebooted the computer after this.

I admit, that I don't totally understand .Net Remoting; but I kinda assumed that it would not use SOAP to serialize in Csla 2.14.  I also assumed it would not use SOAP to serialize unless I specified SOAP in the web.config.

I feel like I just bumped something in the code somewhere but can't track it down.  Like I accidentally set my default formatter to be soap instead of binary.

I appreciate you taking the time to review my post.  All suggestions are welcome.  Note that everything is done on my WinXP PC (both the .Net Remoting client and server; which is using IIS/HTTP).

RobKraft replied on Thursday, September 13, 2007

Of course, 15 minutes after I post a plea for help I discover the cause of the problem.

The web.config of my .Net Remote Host had the 2 appsettings in it that are intended just for the .Net Remote Client:

<add key="CslaDataPortalProxy" value="Csla.DataPortalClient.RemotingProxy, Csla"/>

<add key="CslaDataPortalUrl" value="http://172.16.2.58/IntraReq/RemotingPortal.rem"/>

Once I removed these entries from the Host web.config, my program began working as expected.  Hope this post saves someone else some time!

JoeFallon1 replied on Thursday, September 13, 2007

LOL.

I have made that same error before.

Easy mistake to make.

Copyright (c) Marimer LLC