﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.8.1/dotnetdoc/api/Apache.Ignite.Core.Binary.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Namespace Apache.Ignite.Core.Binary
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Namespace Apache.Ignite.Core.Binary
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Binary">
  
  <h1 id="Apache_Ignite_Core_Binary" data-uid="Apache.Ignite.Core.Binary" class="text-break">Namespace Apache.Ignite.Core.Binary
  </h1>
  <div class="markdown level0 summary"></div>
  <div class="markdown level0 conceptual"></div>
  <div class="markdown level0 remarks"></div>
    <h3 id="classes">Classes
  </h3>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryBasicNameMapper.html">BinaryBasicNameMapper</a></h4>
      <section><p>Base binary name mapper implementation.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryConfiguration.html">BinaryConfiguration</a></h4>
      <section><p>Binary type configuration.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryObjectException.html">BinaryObjectException</a></h4>
      <section><p>Indicates an error during binarization.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.html">BinaryReflectiveSerializer</a></h4>
      <section><p>Binary serializer which reflectively writes all fields except of ones with 
<span class="xref">System.NonSerializedAttribute</span>.
<p>
Note that Java platform stores dates as a difference between current time 
and predefined absolute UTC date. Therefore, this difference is always the 
same for all time zones. .NET, in contrast, stores dates as a difference 
between current time and some predefined date relative to the current time 
zone. It means that this difference will be different as you change time zones. 
To overcome this discrepancy Ignite always converts .Net date to UTC form 
before serializing and allows user to decide whether to deserialize them 
in UTC or local form using <code>ReadTimestamp(..., true/false)</code> methods in 
<a class="xref" href="Apache.Ignite.Core.Binary.IBinaryReader.html">IBinaryReader</a> and <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a>.
This serializer always read dates in UTC form. It means that if you have
local date in any field/property, it will be implicitly converted to UTC
form after the first serialization-deserialization cycle. </p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeConfiguration.html">BinaryTypeConfiguration</a></h4>
      <section><p>Binary type configuration.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.BinaryTypeNames.html">BinaryTypeNames</a></h4>
      <section><p>Binary type name constants.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.TimestampAttribute.html">TimestampAttribute</a></h4>
      <section><p>Instructs the serializer to write DateTime fields and properties in Timestamp format,
which is interoperable with other platforms and works in SQL,
but does not allow non-UTC values.
<p>
When applied to a struct or a class, changes behavior for all fields and properties.
<p>
Normally serializer uses <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html#Apache_Ignite_Core_Binary_IBinaryWriter_WriteObject__1_System_String___0_">WriteObject&lt;T&gt;(String, T)</a> for DateTime fields.
This attribute changes the behavior to <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html#Apache_Ignite_Core_Binary_IBinaryWriter_WriteTimestamp_System_String_System_Nullable_System_DateTime__">WriteTimestamp(String, Nullable&lt;DateTime&gt;)</a>.
<p>
See also <a class="xref" href="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.html#Apache_Ignite_Core_Binary_BinaryReflectiveSerializer_ForceTimestamp">ForceTimestamp</a>.</p>
</section>
    <h3 id="interfaces">Interfaces
  </h3>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinarizable.html">IBinarizable</a></h4>
      <section><p>Interface to implement custom serialization logic.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinary.html">IBinary</a></h4>
      <section><p>Defines binary objects functionality. With binary objects you are able to:
<ul><li>Seamlessly interoperate between Java, .NET, and C++.</li><li>Make any object binary with zero code change to your existing code.</li><li>Nest binary objects within each other.</li><li>Automatically handle <code>circular</code> or <code>null</code> references.</li><li>Automatically convert collections and maps between Java, .NET, and C++.</li><li>Optionally avoid deserialization of objects on the server side.</li><li>Avoid need to have concrete class definitions on the server side.</li><li>Dynamically change structure of the classes without having to restart the cluster.</li><li>Index into binary objects for querying purposes.</li></ul></p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryIdMapper.html">IBinaryIdMapper</a></h4>
      <section><p>Maps class name and class field names to integer identifiers.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryNameMapper.html">IBinaryNameMapper</a></h4>
      <section><p>Maps type and field names to different names.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObject.html">IBinaryObject</a></h4>
      <section><p>Wrapper for serialized objects.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObjectBuilder.html">IBinaryObjectBuilder</a></h4>
      <section><p>binary object builder. Provides ability to build binary objects dynamically
without having class definitions.
<p>
Note that type ID is required in order to build binary object. Usually it is
enough to provide a simple type name and Ignite will generate the type ID
automatically.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawReader.html">IBinaryRawReader</a></h4>
      <section><p>Raw reader for binary objects. </p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryRawWriter.html">IBinaryRawWriter</a></h4>
      <section><p>Raw writer for binary objects. </p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryReader.html">IBinaryReader</a></h4>
      <section><p>Reader for binary objects. </p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinarySerializer.html">IBinarySerializer</a></h4>
      <section><p>Binary serializer. </p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryType.html">IBinaryType</a></h4>
      <section><p>Binary type metadata.</p>
</section>
      <h4><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryWriter.html">IBinaryWriter</a></h4>
      <section><p>Writer for binary objects. </p>
</section>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
