<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:41:14 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-1973] Add Support for System.Runtime.ISerializable for Custom Serialization</title>
                <link>https://jira.mongodb.org/browse/CSHARP-1973</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;A serialization framework in .NET should understand and support System.Runtime.ISerializable.  Presently, the MongoDB C# driver does not appear to have any reference to this interface. &lt;/p&gt;

&lt;p&gt;The interface is extremely practical, as it allows for owners of classes to implement the GetObjectData method in their class and define universal logic for serializing their class across any future serializers.  This is preferable to having to learn the idiosyncrasies of proprietary serializers and re-write the same serialization logic multiple times depending on the output format and library. The custom serialization abstractions in MongoDB will still be needed for complex scenarios when the GetObjectData does not provide enough flexibility.  However, for companies which have already invested significant time and energy into leveraging ISerializable for XML and JSON serialization in their application, and which want to move to MongoDB, it&apos;s a significant frustration that this native platform serialization mechanism is not honored. &lt;/p&gt;

&lt;p&gt;Json.NET honors the nature of the ISerializable interface and GetObjectData method, and provides a good model for how it should work in the Mongo Driver.  While it&apos;s not trivial to implement, it doesn&apos;t seem difficult either. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.newtonsoft.com/json/help/html/SerializationGuide.htm#ISerializable&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://www.newtonsoft.com/json/help/html/SerializationGuide.htm#ISerializable&lt;/a&gt;&lt;/p&gt;</description>
                <environment></environment>
        <key id="379123">CSHARP-1973</key>
            <summary>Add Support for System.Runtime.ISerializable for Custom Serialization</summary>
                <type id="2" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14711&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.mongodb.org/images/icons/priorities/minor.svg">Minor - P4</priority>
                        <status id="10038" iconUrl="https://jira.mongodb.org/images/icons/subtask.gif" description="">Backlog</status>
                    <statusCategory id="2" key="new" colorName="default"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="solvingj">Jerry Wiltse</reporter>
                        <labels>
                            <label>size-medium</label>
                    </labels>
                <created>Mon, 1 May 2017 01:07:03 +0000</created>
                <updated>Thu, 31 Mar 2022 00:35:58 +0000</updated>
                                            <version>2.4.3</version>
                                                    <component>Serialization</component>
                                        <votes>3</votes>
                                    <watches>7</watches>
                                                                                                                <comments>
                            <comment id="2017364" author="solvingj" created="Fri, 28 Sep 2018 13:12:07 +0000"  >&lt;p&gt;Looks right, thanks so much for following up and doing the implementation!&lt;/p&gt;</comment>
                            <comment id="2017282" author="glucaci" created="Fri, 28 Sep 2018 10:04:40 +0000"  >&lt;p&gt;If you have time please take a look here &lt;a href=&quot;https://github.com/glucaci/MongoDB-FrameworkSerializer&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/glucaci/MongoDB-FrameworkSerializer&lt;/a&gt;&#160;maybe we can integrate it into mongo-driver if it&apos;s the way you wanted.&lt;/p&gt;

&lt;p&gt;It&apos;s still work in progress&lt;/p&gt;</comment>
                            <comment id="1950927" author="glucaci" created="Thu, 19 Jul 2018 09:56:58 +0000"  >&lt;p&gt;Is this somewhere on the Roadmap?&lt;/p&gt;

&lt;p&gt;For a C# driver I think this is not a Minor Priority. Understanding the framework serialization interface should be something higher in my opinion.&lt;/p&gt;

&lt;p&gt;This issue was opened more than 1 Year ago.&lt;/p&gt;

&lt;p&gt;Thanks!&lt;/p&gt;</comment>
                            <comment id="1563389" author="rstam" created="Wed, 3 May 2017 13:20:50 +0000"  >&lt;p&gt;Thank you for the suggestion. We will consider it for a future release.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hsywgv:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>