[Mono-bugs] [Bug 82400][Min] Changed - [PATCH] DateTime binary serialization incompatible with MS.NET 2.0

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Sat Aug 25 05:53:40 EDT 2007

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by robertj at gmx.net.


--- shadow/82400	2007-08-25 05:09:20.000000000 -0400
+++ shadow/82400.tmp.7057	2007-08-25 05:53:40.000000000 -0400
@@ -12,12 +12,13 @@
 ReportedBy: jaebird at gmail.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 Cc: alan.mcgovern at gmail.com,knocte at gmail.com,miguel at ximian.com,robertj at gmx.net
 Summary: [PATCH] DateTime binary serialization incompatible with MS.NET 2.0
+BugsThisDependsOn: 78593
 Please fill in this template when reporting a bug, unless you know what you
 are doing.
 Description of Problem:
 This problem exposes itself when using DateTime as a parameter of a remote
@@ -316,6 +317,42 @@
 ------- Additional Comments From robertj at gmx.net  2007-08-25 05:09 -------
 Created an attachment (id=19890)
 DateTimeISerializable.diff  - ISerializable implementation
+------- Additional Comments From robertj at gmx.net  2007-08-25 05:53 -------
+The ISerialization patch I have reworked and attached, is
+unfortunately of no use at present, so I won't commit it,
+unless you can live with these issues:
+Due to bug #78593 (2nd part), Mono's 1.1 profile is not able
+to deserialize 2.0 data.
+Likewise, old Monos (regardless of the profile) won't be able
+to deserialize data created by this patch due to the
+new "dateData" field. With other words: regressions on
+all profiles.
+I'd rather fix bug #78593 and its sibling #81465 for
+Mono 1.2.6 and introduce DateTime.ISerializable with
+Mono 1.2.7.
+A few words about DateTime.ISerializable (executive summary :-):
+This is only used when a DateTime is directly serialized.
+i.e. it's not part of another class:
+new BinaryFormatter().Serialize (stream, DateTime.Now);
+In this case, DateTime is not treated as a primitive type,
+maybe because it's the root of the serialization graph.
+I've tested this exceptional case on MS.NET and it seems that
+their implementation is struggling as well (the MS.NET 1.1 SOAP
+formatter cannot handle 2.0 DateTimes).
+IMHO, it's not worth the trouble.

More information about the mono-bugs mailing list