Uploaded image for project: 'Couchbase .NET client library'
  1. Couchbase .NET client library
  2. NCBC-1032

Support for more deserialization controls via ITypeSerializers

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.1
    • Fix Version/s: 2.2.2
    • Component/s: library
    • Labels:
      None

      Description

      The current ITypeSerializer implementation works under the assumption that
      all serialization/deserialization requests should have the same behavior.
      Any client library which implements a custom ITypeSerializer overrides
      this behavior for all requests to Couchbase.

      However, there are instances where a specific request may require custom
      options. The particular example addressed here is change tracking in the
      Linq2Couchbase library. It needs to control the object creation process
      for some deserialization requests in order to create change tracking
      proxies.

      Additionally, we need a method for custom ITypeSerializer implementations
      to provide member name resolution information to consumers. This will
      allow Linq2Couchbase to determine the correct attribute names to use when
      building N1QL queries. Currently, it is forced to assume that the
      Newtonsoft.Json behavior is in use.

      Finally, there is currently no method to override the deserialization
      process for N1QL queries on a per-request basis.

        Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Show
          jmorris Jeff Morris added a comment - http://review.couchbase.org/#/c/56960/

            People

            • Assignee:
              jmorris Jeff Morris
              Reporter:
              jmorris Jeff Morris
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes

                  PagerDuty

                  Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.