[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.
http://bugzilla.ximian.com/show_bug.cgi?id=82400
--- 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: ---
URL:
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