Serialization - object versioning & breakage

Serialization - object versioning & breakage

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


skagen00 posted on Monday, September 29, 2014

Our production environment has 5 web servers, all running in 32-bit - with a few applications on those servers (including some VB6 code), we're running into memory issues.

So the goal is to introduce a 64-bit production server (initially out of the farm) with basically the same code base; however, we did need to make one small change and recompile... (GetHashCode for string differs between 32-bit and 64-bit implementations of .NET, and we errantly used the resulting value as something important which one is not supposed to do apparently!).

We are not changing the version numbers in Assembly Information for our business objects, etc.

Any idea if a Silverlight application garnered from one of the old machines (32-bit ones) would have problems communicating with the WCF endpoint of the new machine (64-bit one), fundamentally? 

I don't think serialization/deserialization of objects would be a problem as we're not changing versions on our business object assemblies, etc.  We didn't add any new properties or anything to any business object... just basically replaced the invocation of GetHashCode to a "GetHashCode32" implementation in a couple of places so that the 64-bit machines would hash a couple of strings in 32-bit fashion where it was needed.

RockfordLhotka replied on Monday, September 29, 2014

I agree, I don't _think_ serialization should be an issue. The assembly qualified type names aren't different between 32 and 64 bit platforms, which would be the most likely cause of problems.

Copyright (c) Marimer LLC