[jira] [Created] (IGNITE-1780) .Net: DateTime is seialized incorrectly.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-1780) .Net: DateTime is seialized incorrectly.

Anton Vinogradov (Jira)
Vladimir Ozerov created IGNITE-1780:
---------------------------------------

             Summary: .Net: DateTime is seialized incorrectly.
                 Key: IGNITE-1780
                 URL: https://issues.apache.org/jira/browse/IGNITE-1780
             Project: Ignite
          Issue Type: Task
          Components: interop
    Affects Versions: ignite-1.4
            Reporter: Vladimir Ozerov
            Priority: Critical
             Fix For: 1.5


Add the following test to PortableSelfTest.cs:
{code}
[Test]
public void TestWriteDate()
{
    DateTime time = DateTime.Now;
    DateTime timeUtc = DateTime.UtcNow;

    Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(time)), time);
    Assert.AreEqual(_marsh.Unmarshal<DateTime>(_marsh.Marshal(timeUtc)), timeUtc);
}
{code}

Observe that it fails becuase we loose DateTimeKind.

DateTime must be serialized in portable form only in two cases:
1) IPortableWriter.WriteDate()
2) IPortableWriter.WriteDateArray()

In all other cases it should be serialized in some other form. E.g., we can introduce new wrapper type ".NET-specific" and wrap DateTime, Collections, Arrays (IGNITE-1779) in it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)