﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.6/dotnetdoc/api/Apache.Ignite.Core.IgniteConfiguration.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class IgniteConfiguration
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class IgniteConfiguration
   | 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.IgniteConfiguration">
  
  
  <h1 id="Apache_Ignite_Core_IgniteConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration" class="text-break">Class IgniteConfiguration
  </h1>
  <div class="markdown level0 summary"><p>Grid configuration.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><span class="xref">IgniteConfiguration</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Object.ToString()</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.html">Apache.Ignite.Core</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_IgniteConfiguration_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class IgniteConfiguration</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <a id="Apache_Ignite_Core_IgniteConfiguration__ctor_" data-uid="Apache.Ignite.Core.IgniteConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration__ctor" data-uid="Apache.Ignite.Core.IgniteConfiguration.#ctor">IgniteConfiguration()</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IgniteConfiguration()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_IgniteConfiguration__ctor_" data-uid="Apache.Ignite.Core.IgniteConfiguration.#ctor*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration__ctor_Apache_Ignite_Core_IgniteConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.#ctor(Apache.Ignite.Core.IgniteConfiguration)">IgniteConfiguration(IgniteConfiguration)</h4>
  <div class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a> class.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IgniteConfiguration(IgniteConfiguration configuration)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a></td>
        <td><span class="parametername">configuration</span></td>
        <td><p>The configuration to copy.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
  </h3>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultAuthenticationEnabled" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultAuthenticationEnabled">DefaultAuthenticationEnabled</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_AuthenticationEnabled">AuthenticationEnabled</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultAuthenticationEnabled = false</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultClientConnectorConfigurationEnabled" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultClientConnectorConfigurationEnabled">DefaultClientConnectorConfigurationEnabled</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfigurationEnabled">ClientConnectorConfigurationEnabled</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultClientConnectorConfigurationEnabled = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultClientFailureDetectionTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultClientFailureDetectionTimeout">DefaultClientFailureDetectionTimeout</h4>
  <div class="markdown level1 summary"><p>Default failure detection timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultClientFailureDetectionTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultFailureDetectionTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultFailureDetectionTimeout">DefaultFailureDetectionTimeout</h4>
  <div class="markdown level1 summary"><p>Default failure detection timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultFailureDetectionTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultIsActiveOnStart" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultIsActiveOnStart">DefaultIsActiveOnStart</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_IsActiveOnStart">IsActiveOnStart</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultIsActiveOnStart = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultIsLateAffinityAssignment" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultIsLateAffinityAssignment">DefaultIsLateAffinityAssignment</h4>
  <div class="markdown level1 summary"><p>Default late affinity assignment mode.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultIsLateAffinityAssignment = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultJvmInitMem" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultJvmInitMem">DefaultJvmInitMem</h4>
  <div class="markdown level1 summary"><p>Default initial JVM memory in megabytes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultJvmInitMem = -1</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultJvmMaxMem" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultJvmMaxMem">DefaultJvmMaxMem</h4>
  <div class="markdown level1 summary"><p>Default maximum JVM memory in megabytes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultJvmMaxMem = -1</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultLongQueryWarningTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultLongQueryWarningTimeout">DefaultLongQueryWarningTimeout</h4>
  <div class="markdown level1 summary"><p>Default timeout after which long query warning will be printed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultLongQueryWarningTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultManagementThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultManagementThreadPoolSize">DefaultManagementThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Default management thread pool size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultManagementThreadPoolSize = 4</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMetricsExpireTime" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMetricsExpireTime">DefaultMetricsExpireTime</h4>
  <div class="markdown level1 summary"><p>Default metrics expire time.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultMetricsExpireTime</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMetricsHistorySize" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMetricsHistorySize">DefaultMetricsHistorySize</h4>
  <div class="markdown level1 summary"><p>Default metrics history size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultMetricsHistorySize = 10000</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMetricsLogFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMetricsLogFrequency">DefaultMetricsLogFrequency</h4>
  <div class="markdown level1 summary"><p>Default metrics log frequency.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultMetricsLogFrequency</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMetricsUpdateFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMetricsUpdateFrequency">DefaultMetricsUpdateFrequency</h4>
  <div class="markdown level1 summary"><p>Default metrics update frequency.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultMetricsUpdateFrequency</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMvccVacuumFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMvccVacuumFrequency">DefaultMvccVacuumFrequency</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_MvccVacuumFrequency">MvccVacuumFrequency</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const long DefaultMvccVacuumFrequency = 5000L</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultMvccVacuumThreadCount" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultMvccVacuumThreadCount">DefaultMvccVacuumThreadCount</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_MvccVacuumThreadCount">MvccVacuumThreadCount</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultMvccVacuumThreadCount = 2</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultNetworkSendRetryCount" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultNetworkSendRetryCount">DefaultNetworkSendRetryCount</h4>
  <div class="markdown level1 summary"><p>Default network retry count.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const int DefaultNetworkSendRetryCount = 3</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultNetworkSendRetryDelay" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultNetworkSendRetryDelay">DefaultNetworkSendRetryDelay</h4>
  <div class="markdown level1 summary"><p>Default network retry delay.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultNetworkSendRetryDelay</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultNetworkTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultNetworkTimeout">DefaultNetworkTimeout</h4>
  <div class="markdown level1 summary"><p>Default network timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly TimeSpan DefaultNetworkTimeout</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultRedirectJavaConsoleOutput" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultRedirectJavaConsoleOutput">DefaultRedirectJavaConsoleOutput</h4>
  <div class="markdown level1 summary"><p>Default value for <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_RedirectJavaConsoleOutput">RedirectJavaConsoleOutput</a> property.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public const bool DefaultRedirectJavaConsoleOutput = true</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DefaultThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.DefaultThreadPoolSize">DefaultThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Default thread pool size.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static readonly int DefaultThreadPoolSize</code></pre>
  </div>
  <h5 class="fieldValue">Field Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_IgniteConfiguration_Assemblies_" data-uid="Apache.Ignite.Core.IgniteConfiguration.Assemblies*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_Assemblies" data-uid="Apache.Ignite.Core.IgniteConfiguration.Assemblies">Assemblies</h4>
  <div class="markdown level1 summary"><p>List of additional .Net assemblies to load on Ignite start. Each item can be either
fully qualified assembly name, path to assembly to DLL or path to a directory when
assemblies reside.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;string&gt; Assemblies { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.String</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_AsyncCallbackThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.AsyncCallbackThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_AsyncCallbackThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.AsyncCallbackThreadPoolSize">AsyncCallbackThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the asynchronous callback thread pool.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int AsyncCallbackThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_AtomicConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.AtomicConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_AtomicConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.AtomicConfiguration">AtomicConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the atomic data structures configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public AtomicConfiguration AtomicConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.DataStructures.Configuration.AtomicConfiguration.html">AtomicConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_AuthenticationEnabled_" data-uid="Apache.Ignite.Core.IgniteConfiguration.AuthenticationEnabled*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_AuthenticationEnabled" data-uid="Apache.Ignite.Core.IgniteConfiguration.AuthenticationEnabled">AuthenticationEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets whether user authentication is enabled for the cluster. Default is <code>false</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool AuthenticationEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_AutoGenerateIgniteInstanceName_" data-uid="Apache.Ignite.Core.IgniteConfiguration.AutoGenerateIgniteInstanceName*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_AutoGenerateIgniteInstanceName" data-uid="Apache.Ignite.Core.IgniteConfiguration.AutoGenerateIgniteInstanceName">AutoGenerateIgniteInstanceName</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether unique <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_IgniteInstanceName">IgniteInstanceName</a> should be generated.
<p>
Set this to true in scenarios where new node should be started regardless of other nodes present within
current process. In particular, this setting is useful is ASP.NET and IIS environments, where AppDomains
are loaded and unloaded within a single process during application restarts. Ignite stops all nodes
on <span class="xref">System.AppDomain</span> unload, however, IIS does not wait for previous AppDomain to unload before
starting up a new one, which may cause &quot;Ignite instance with this name has already been started&quot; errors.
This setting solves the issue.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool AutoGenerateIgniteInstanceName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_BinaryConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.BinaryConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_BinaryConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.BinaryConfiguration">BinaryConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the binary configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public BinaryConfiguration BinaryConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Binary.BinaryConfiguration.html">BinaryConfiguration</a></td>
        <td><p>The binary configuration.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_CacheConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.CacheConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_CacheConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.CacheConfiguration">CacheConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the cache configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;CacheConfiguration&gt; CacheConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Cache.Configuration.CacheConfiguration.html">CacheConfiguration</a>&gt;</td>
        <td><p>The cache configuration.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientConnectorConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientConnectorConfiguration">ClientConnectorConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the client connector configuration (for JDBC, ODBC, and thin clients).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ClientConnectorConfiguration ClientConnectorConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Configuration.ClientConnectorConfiguration.html">ClientConnectorConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfigurationEnabled_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientConnectorConfigurationEnabled*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfigurationEnabled" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientConnectorConfigurationEnabled">ClientConnectorConfigurationEnabled</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether client connector is enabled:
allow thin clients, ODBC and JDBC drivers to work with Ignite
(see <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_ClientConnectorConfiguration">ClientConnectorConfiguration</a>).
Default is <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DefaultClientConnectorConfigurationEnabled">DefaultClientConnectorConfigurationEnabled</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ClientConnectorConfigurationEnabled { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ClientFailureDetectionTimeout_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientFailureDetectionTimeout*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ClientFailureDetectionTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientFailureDetectionTimeout">ClientFailureDetectionTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the failure detection timeout used by <a class="xref" href="Apache.Ignite.Core.Discovery.Tcp.TcpDiscoverySpi.html">TcpDiscoverySpi</a>
and <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html">TcpCommunicationSpi</a> for client nodes.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan ClientFailureDetectionTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ClientMode_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientMode*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ClientMode" data-uid="Apache.Ignite.Core.IgniteConfiguration.ClientMode">ClientMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether node should start in client mode.
Client node cannot hold data in the caches.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ClientMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_CommunicationSpi_" data-uid="Apache.Ignite.Core.IgniteConfiguration.CommunicationSpi*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_CommunicationSpi" data-uid="Apache.Ignite.Core.IgniteConfiguration.CommunicationSpi">CommunicationSpi</h4>
  <div class="markdown level1 summary"><p>Gets or sets the communication service provider.
Null for default communication.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICommunicationSpi CommunicationSpi { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Communication.ICommunicationSpi.html">ICommunicationSpi</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ConsistentId_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ConsistentId*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ConsistentId" data-uid="Apache.Ignite.Core.IgniteConfiguration.ConsistentId">ConsistentId</h4>
  <div class="markdown level1 summary"><p>Gets or sets consistent globally unique node identifier which survives node restarts.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public object ConsistentId { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_DataStorageConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.DataStorageConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DataStorageConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.DataStorageConfiguration">DataStorageConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the data storage configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DataStorageConfiguration DataStorageConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Configuration.DataStorageConfiguration.html">DataStorageConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_DataStreamerThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.DataStreamerThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DataStreamerThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.DataStreamerThreadPoolSize">DataStreamerThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the data streamer thread pool.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int DataStreamerThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_DiscoverySpi_" data-uid="Apache.Ignite.Core.IgniteConfiguration.DiscoverySpi*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_DiscoverySpi" data-uid="Apache.Ignite.Core.IgniteConfiguration.DiscoverySpi">DiscoverySpi</h4>
  <div class="markdown level1 summary"><p>Gets or sets the discovery service provider.
Null for default discovery.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IDiscoverySpi DiscoverySpi { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Discovery.IDiscoverySpi.html">IDiscoverySpi</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_EncryptionSpi_" data-uid="Apache.Ignite.Core.IgniteConfiguration.EncryptionSpi*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_EncryptionSpi" data-uid="Apache.Ignite.Core.IgniteConfiguration.EncryptionSpi">EncryptionSpi</h4>
  <div class="markdown level1 summary"><p>Gets or sets the encryption service provider.
Null for disabled encryption.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IEncryptionSpi EncryptionSpi { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Encryption.IEncryptionSpi.html">IEncryptionSpi</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_EventStorageSpi_" data-uid="Apache.Ignite.Core.IgniteConfiguration.EventStorageSpi*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_EventStorageSpi" data-uid="Apache.Ignite.Core.IgniteConfiguration.EventStorageSpi">EventStorageSpi</h4>
  <div class="markdown level1 summary"><p>Gets or sets the event storage interface.
<p>
Only predefined implementations are supported:
<a class="xref" href="Apache.Ignite.Core.Events.NoopEventStorageSpi.html">NoopEventStorageSpi</a>, <a class="xref" href="Apache.Ignite.Core.Events.MemoryEventStorageSpi.html">MemoryEventStorageSpi</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IEventStorageSpi EventStorageSpi { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Events.IEventStorageSpi.html">IEventStorageSpi</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_FailureDetectionTimeout_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FailureDetectionTimeout*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_FailureDetectionTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.FailureDetectionTimeout">FailureDetectionTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the failure detection timeout used by <a class="xref" href="Apache.Ignite.Core.Discovery.Tcp.TcpDiscoverySpi.html">TcpDiscoverySpi</a>
and <a class="xref" href="Apache.Ignite.Core.Communication.Tcp.TcpCommunicationSpi.html">TcpCommunicationSpi</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan FailureDetectionTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_FailureHandler_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FailureHandler*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_FailureHandler" data-uid="Apache.Ignite.Core.IgniteConfiguration.FailureHandler">FailureHandler</h4>
  <div class="markdown level1 summary"><p>Gets or sets predefined failure handlers implementation.
A failure handler handles critical failures of Ignite instance accordingly:
<p><a class="xref" href="Apache.Ignite.Core.Failure.NoOpFailureHandler.html">NoOpFailureHandler</a> -- do nothing.</p>
<p><a class="xref" href="Apache.Ignite.Core.Failure.StopNodeFailureHandler.html">StopNodeFailureHandler</a> -- stop node.</p>
<p><a class="xref" href="Apache.Ignite.Core.Failure.StopNodeOrHaltFailureHandler.html">StopNodeOrHaltFailureHandler</a> -- try to stop node if tryStop value is true.
If node can&apos;t be stopped during provided timeout or tryStop value is false then JVM process will be terminated forcibly.</p>
<p>
Only these implementations are supported:
<a class="xref" href="Apache.Ignite.Core.Failure.NoOpFailureHandler.html">NoOpFailureHandler</a>, <a class="xref" href="Apache.Ignite.Core.Failure.StopNodeOrHaltFailureHandler.html">StopNodeOrHaltFailureHandler</a>, <a class="xref" href="Apache.Ignite.Core.Failure.StopNodeFailureHandler.html">StopNodeFailureHandler</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IFailureHandler FailureHandler { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Failure.IFailureHandler.html">IFailureHandler</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_GridName_" data-uid="Apache.Ignite.Core.IgniteConfiguration.GridName*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_GridName" data-uid="Apache.Ignite.Core.IgniteConfiguration.GridName">GridName</h4>
  <div class="markdown level1 summary"><p>Gets or sets optional local instance name.
<p>
This name only works locally and has no effect on topology.
<p>
This property is used to when there are multiple Ignite nodes in one process to distinguish them.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use IgniteInstanceName instead.&quot;)]
public string GridName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IgniteHome_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IgniteHome*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IgniteHome" data-uid="Apache.Ignite.Core.IgniteConfiguration.IgniteHome">IgniteHome</h4>
  <div class="markdown level1 summary"><p>Path to Ignite home. If not set environment variable IGNITE_HOME will be used.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string IgniteHome { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IgniteInstanceName_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IgniteInstanceName*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IgniteInstanceName" data-uid="Apache.Ignite.Core.IgniteConfiguration.IgniteInstanceName">IgniteInstanceName</h4>
  <div class="markdown level1 summary"><p>Gets or sets optional local instance name.
<p>
This name only works locally and has no effect on topology.
<p>
This property is used to when there are multiple Ignite nodes in one process to distinguish them.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string IgniteInstanceName { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IncludedEventTypes_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IncludedEventTypes*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IncludedEventTypes" data-uid="Apache.Ignite.Core.IgniteConfiguration.IncludedEventTypes">IncludedEventTypes</h4>
  <div class="markdown level1 summary"><p>Gets or sets a set of event types (<a class="xref" href="Apache.Ignite.Core.Events.EventType.html">EventType</a>) to be recorded by Ignite.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;int&gt; IncludedEventTypes { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.Int32</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IsActiveOnStart_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsActiveOnStart*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IsActiveOnStart" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsActiveOnStart">IsActiveOnStart</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether grid should be active on start.
See also <a class="xref" href="Apache.Ignite.Core.Cluster.ICluster.html#Apache_Ignite_Core_Cluster_ICluster_IsActive">IsActive()</a> and <a class="xref" href="Apache.Ignite.Core.Cluster.ICluster.html#Apache_Ignite_Core_Cluster_ICluster_SetActive_System_Boolean_">SetActive(Boolean)</a>.
<p>
This property is ignored when <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DataStorageConfiguration">DataStorageConfiguration</a> is present:
cluster is always inactive on start when Ignite Persistence is enabled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsActiveOnStart { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IsDaemon_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsDaemon*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IsDaemon" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsDaemon">IsDaemon</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether this node should be a daemon node.
<p>
Daemon nodes are the usual grid nodes that participate in topology but not visible on the main APIs,
i.e. they are not part of any cluster groups.
<p>
Daemon nodes are used primarily for management and monitoring functionality that is built on Ignite
and needs to participate in the topology, but also needs to be excluded from the &quot;normal&quot; topology,
so that it won&apos;t participate in the task execution or in-memory data grid storage.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsDaemon { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_IsLateAffinityAssignment_" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsLateAffinityAssignment*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_IsLateAffinityAssignment" data-uid="Apache.Ignite.Core.IgniteConfiguration.IsLateAffinityAssignment">IsLateAffinityAssignment</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether late affinity assignment mode should be used.
<p>
On each topology change, for each started cache, partition-to-node mapping is
calculated using AffinityFunction for cache. When late
affinity assignment mode is disabled then new affinity mapping is applied immediately.
<p>
With late affinity assignment mode, if primary node was changed for some partition, but data for this
partition is not rebalanced yet on this node, then current primary is not changed and new primary
is temporary assigned as backup. This nodes becomes primary only when rebalancing for all assigned primary
partitions is finished. This mode can show better performance for cache operations, since when cache
primary node executes some operation and data is not rebalanced yet, then it sends additional message
to force rebalancing from other nodes.
<p>
Note, that <a class="xref" href="Apache.Ignite.Core.Cache.ICacheAffinity.html">ICacheAffinity</a> interface provides assignment information taking late assignment
into account, so while rebalancing for new primary nodes is not finished it can return assignment
which differs from assignment calculated by AffinityFunction.
<p>
This property should have the same value for all nodes in cluster.
<p>
If not provided, default value is <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DefaultIsLateAffinityAssignment">DefaultIsLateAffinityAssignment</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;No longer supported, always true.&quot;)]
public bool IsLateAffinityAssignment { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_JvmClasspath_" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmClasspath*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_JvmClasspath" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmClasspath">JvmClasspath</h4>
  <div class="markdown level1 summary"><p>Classpath used by JVM on Ignite start.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string JvmClasspath { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_JvmDllPath_" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmDllPath*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_JvmDllPath" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmDllPath">JvmDllPath</h4>
  <div class="markdown level1 summary"><p>Path to jvm.dll (libjvm.so on Linux, libjvm.dylib on Mac) file.
If not set, it&apos;s location will be determined using JAVA_HOME environment variable.
If path is neither set nor determined automatically, an exception will be thrown.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string JvmDllPath { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_JvmInitialMemoryMb_" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmInitialMemoryMb*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_JvmInitialMemoryMb" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmInitialMemoryMb">JvmInitialMemoryMb</h4>
  <div class="markdown level1 summary"><p>Initial amount of memory in megabytes given to JVM. Maps to -Xms Java option.</p>
<pre><code>-1</code></pre> maps to JVM defaults.
<p>Defaults to <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DefaultJvmInitMem">DefaultJvmInitMem</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int JvmInitialMemoryMb { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_JvmMaxMemoryMb_" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmMaxMemoryMb*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_JvmMaxMemoryMb" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmMaxMemoryMb">JvmMaxMemoryMb</h4>
  <div class="markdown level1 summary"><p>Maximum amount of memory in megabytes given to JVM. Maps to -Xmx Java option.</p>
<pre><code>-1</code></pre> maps to JVM defaults.
<p>Defaults to <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DefaultJvmMaxMem">DefaultJvmMaxMem</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int JvmMaxMemoryMb { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_JvmOptions_" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmOptions*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_JvmOptions" data-uid="Apache.Ignite.Core.IgniteConfiguration.JvmOptions">JvmOptions</h4>
  <div class="markdown level1 summary"><p>Collection of options passed to JVM on Ignite start.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;string&gt; JvmOptions { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.String</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_LifecycleHandlers_" data-uid="Apache.Ignite.Core.IgniteConfiguration.LifecycleHandlers*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_LifecycleHandlers" data-uid="Apache.Ignite.Core.IgniteConfiguration.LifecycleHandlers">LifecycleHandlers</h4>
  <div class="markdown level1 summary"><p>Lifecycle handlers.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;ILifecycleHandler&gt; LifecycleHandlers { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Lifecycle.ILifecycleHandler.html">ILifecycleHandler</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_LocalEventListeners_" data-uid="Apache.Ignite.Core.IgniteConfiguration.LocalEventListeners*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_LocalEventListeners" data-uid="Apache.Ignite.Core.IgniteConfiguration.LocalEventListeners">LocalEventListeners</h4>
  <div class="markdown level1 summary"><p>Gets or sets pre-configured local event listeners.
<p>
This is similar to calling <a class="xref" href="Apache.Ignite.Core.Events.IEvents.html#Apache_Ignite_Core_Events_IEvents_LocalListen__1_Apache_Ignite_Core_Events_IEventListener___0__System_Int32___">LocalListen&lt;T&gt;(IEventListener&lt;T&gt;, Int32[])</a>,
but important difference is that some events occur during startup and can be only received this way.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;LocalEventListener&gt; LocalEventListeners { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Events.LocalEventListener.html">LocalEventListener</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_Localhost_" data-uid="Apache.Ignite.Core.IgniteConfiguration.Localhost*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_Localhost" data-uid="Apache.Ignite.Core.IgniteConfiguration.Localhost">Localhost</h4>
  <div class="markdown level1 summary"><p>Gets or sets system-wide local address or host for all Ignite components to bind to.
If provided it will override all default local bind settings within Ignite.
<p>
If <code>null</code> then Ignite tries to use local wildcard address.That means that all services
will be available on all network interfaces of the host machine.
<p>
It is strongly recommended to set this parameter for all production environments.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string Localhost { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_Logger_" data-uid="Apache.Ignite.Core.IgniteConfiguration.Logger*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_Logger" data-uid="Apache.Ignite.Core.IgniteConfiguration.Logger">Logger</h4>
  <div class="markdown level1 summary"><p>Gets or sets the logger.
<p>
If no logger is set, logging is delegated to Java, which uses the logger defined in Spring XML (if present)
or logs to console otherwise.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ILogger Logger { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Log.ILogger.html">ILogger</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_LongQueryWarningTimeout_" data-uid="Apache.Ignite.Core.IgniteConfiguration.LongQueryWarningTimeout*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_LongQueryWarningTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.LongQueryWarningTimeout">LongQueryWarningTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the timeout after which long query warning will be printed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan LongQueryWarningTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ManagementThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ManagementThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ManagementThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.ManagementThreadPoolSize">ManagementThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the management thread pool, which processes internal Ignite jobs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int ManagementThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MemoryConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MemoryConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MemoryConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.MemoryConfiguration">MemoryConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the page memory configuration.
<a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_MemoryConfiguration">MemoryConfiguration</a> for more details.
<p>
Obsolete, use <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DataStorageConfiguration">DataStorageConfiguration</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use DataStorageConfiguration.&quot;)]
public MemoryConfiguration MemoryConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Cache.Configuration.MemoryConfiguration.html">MemoryConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MetricsExpireTime_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsExpireTime*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MetricsExpireTime" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsExpireTime">MetricsExpireTime</h4>
  <div class="markdown level1 summary"><p>Gets or sets the time after which a certain metric value is considered expired.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan MetricsExpireTime { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MetricsHistorySize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsHistorySize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MetricsHistorySize" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsHistorySize">MetricsHistorySize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the number of metrics kept in history to compute totals and averages.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MetricsHistorySize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MetricsLogFrequency_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsLogFrequency*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MetricsLogFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsLogFrequency">MetricsLogFrequency</h4>
  <div class="markdown level1 summary"><p>Gets or sets the frequency of metrics log print out.
<span class="xref">System.TimeSpan.Zero</span> to disable metrics print out.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan MetricsLogFrequency { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MetricsUpdateFrequency_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsUpdateFrequency*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MetricsUpdateFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.MetricsUpdateFrequency">MetricsUpdateFrequency</h4>
  <div class="markdown level1 summary"><p>Gets or sets the job metrics update frequency.
<span class="xref">System.TimeSpan.Zero</span> to update metrics on job start/finish.
Negative value to never update metrics.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan MetricsUpdateFrequency { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MvccVacuumFrequency_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MvccVacuumFrequency*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MvccVacuumFrequency" data-uid="Apache.Ignite.Core.IgniteConfiguration.MvccVacuumFrequency">MvccVacuumFrequency</h4>
  <div class="markdown level1 summary"><p>Time interval between MVCC vacuum runs in milliseconds.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public long MvccVacuumFrequency { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_MvccVacuumThreadCount_" data-uid="Apache.Ignite.Core.IgniteConfiguration.MvccVacuumThreadCount*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_MvccVacuumThreadCount" data-uid="Apache.Ignite.Core.IgniteConfiguration.MvccVacuumThreadCount">MvccVacuumThreadCount</h4>
  <div class="markdown level1 summary"><p>Number of MVCC vacuum threads.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int MvccVacuumThreadCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_NetworkSendRetryCount_" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkSendRetryCount*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_NetworkSendRetryCount" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkSendRetryCount">NetworkSendRetryCount</h4>
  <div class="markdown level1 summary"><p>Gets or sets the network send retry count.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int NetworkSendRetryCount { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_NetworkSendRetryDelay_" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkSendRetryDelay*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_NetworkSendRetryDelay" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkSendRetryDelay">NetworkSendRetryDelay</h4>
  <div class="markdown level1 summary"><p>Gets or sets the network send retry delay.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan NetworkSendRetryDelay { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_NetworkTimeout_" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkTimeout*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_NetworkTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.NetworkTimeout">NetworkTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the network timeout.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan NetworkTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.TimeSpan</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_PeerAssemblyLoadingMode_" data-uid="Apache.Ignite.Core.IgniteConfiguration.PeerAssemblyLoadingMode*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_PeerAssemblyLoadingMode" data-uid="Apache.Ignite.Core.IgniteConfiguration.PeerAssemblyLoadingMode">PeerAssemblyLoadingMode</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating how user assemblies should be loaded on remote nodes.
<p>
For example, when executing <a class="xref" href="Apache.Ignite.Core.Compute.ICompute.html#Apache_Ignite_Core_Compute_ICompute_Call__1_Apache_Ignite_Core_Compute_IComputeFunc___0__">Call&lt;TRes&gt;(IComputeFunc&lt;TRes&gt;)</a>,
the assembly with corresponding <a class="xref" href="Apache.Ignite.Core.Compute.IComputeFunc-1.html">IComputeFunc&lt;TRes&gt;</a> should be loaded on remote nodes.
With this option enabled, Ignite will attempt to send the assembly to remote nodes
and load it there automatically.
<p>
Default is <a class="xref" href="Apache.Ignite.Core.Deployment.PeerAssemblyLoadingMode.html#Apache_Ignite_Core_Deployment_PeerAssemblyLoadingMode_Disabled">Disabled</a>.
<p>
Peer loading is enabled for <a class="xref" href="Apache.Ignite.Core.Compute.ICompute.html">ICompute</a> functionality.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public PeerAssemblyLoadingMode PeerAssemblyLoadingMode { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Deployment.PeerAssemblyLoadingMode.html">PeerAssemblyLoadingMode</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_PersistentStoreConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.PersistentStoreConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_PersistentStoreConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.PersistentStoreConfiguration">PersistentStoreConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the persistent store configuration.
<p>
Obsolete, use <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DataStorageConfiguration">DataStorageConfiguration</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use DataStorageConfiguration.&quot;)]
public PersistentStoreConfiguration PersistentStoreConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.PersistentStore.PersistentStoreConfiguration.html">PersistentStoreConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_PluginConfigurations_" data-uid="Apache.Ignite.Core.IgniteConfiguration.PluginConfigurations*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_PluginConfigurations" data-uid="Apache.Ignite.Core.IgniteConfiguration.PluginConfigurations">PluginConfigurations</h4>
  <div class="markdown level1 summary"><p>Gets or sets the configurations for plugins to be started.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;IPluginConfiguration&gt; PluginConfigurations { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Plugin.IPluginConfiguration.html">IPluginConfiguration</a>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_PublicThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.PublicThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_PublicThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.PublicThreadPoolSize">PublicThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the public thread pool, which processes compute jobs and user messages.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int PublicThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_QueryThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.QueryThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_QueryThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.QueryThreadPoolSize">QueryThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the query thread pool.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int QueryThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_RedirectJavaConsoleOutput_" data-uid="Apache.Ignite.Core.IgniteConfiguration.RedirectJavaConsoleOutput*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_RedirectJavaConsoleOutput" data-uid="Apache.Ignite.Core.IgniteConfiguration.RedirectJavaConsoleOutput">RedirectJavaConsoleOutput</h4>
  <div class="markdown level1 summary"><p>Gets or sets a value indicating whether Java console output should be redirected
to <span class="xref">System.Console.Out</span> and <span class="xref">System.Console.Error</span>, respectively.
<p>
Default is <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_DefaultRedirectJavaConsoleOutput">DefaultRedirectJavaConsoleOutput</a>.
<p>
Java code outputs valuable information to console. However, since that is Java console,
it is not possible to capture that output with standard .NET APIs (<span class="xref">System.Console.SetOut(System.IO.TextWriter)</span>).
As a result, many tools (IDEs, test runners) are not able to display Ignite console output in UI.
<p>
This property is enabled by default and redirects Java console output to standard .NET console.
It is recommended to disable this in production.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool RedirectJavaConsoleOutput { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ServiceThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ServiceThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ServiceThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.ServiceThreadPoolSize">ServiceThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the service thread pool, which processes Ignite services.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int ServiceThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SpringConfigUrl_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SpringConfigUrl*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SpringConfigUrl" data-uid="Apache.Ignite.Core.IgniteConfiguration.SpringConfigUrl">SpringConfigUrl</h4>
  <div class="markdown level1 summary"><p>URL to Spring configuration file.
<p>
Spring configuration is loaded first, then <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a> properties are applied.
Null property values do not override Spring values.
Value-typed properties are tracked internally: if setter was not called, Spring value won&apos;t be overwritten.
<p>
This merging happens on the top level only; e. g. if there are cache configurations defined in Spring
and in .NET, .NET caches will overwrite Spring caches.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string SpringConfigUrl { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SqlConnectorConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SqlConnectorConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SqlConnectorConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.SqlConnectorConfiguration">SqlConnectorConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the SQL connector configuration (for JDBC and ODBC).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Obsolete(&quot;Use ClientConnectorConfiguration instead.&quot;)]
public SqlConnectorConfiguration SqlConnectorConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Configuration.SqlConnectorConfiguration.html">SqlConnectorConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SqlSchemas_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SqlSchemas*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SqlSchemas" data-uid="Apache.Ignite.Core.IgniteConfiguration.SqlSchemas">SqlSchemas</h4>
  <div class="markdown level1 summary"><p>Gets or sets SQL schemas to be created on node startup. Schemas are created on local node only and are not propagated.
to other cluster nodes. Created schemas cannot be dropped.
<p>
By default schema names are case-insensitive. Use quotes to enforce case sensitivity.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ICollection&lt;string&gt; SqlSchemas { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.ICollection</span>&lt;<span class="xref">System.String</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SslContextFactory_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SslContextFactory*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SslContextFactory" data-uid="Apache.Ignite.Core.IgniteConfiguration.SslContextFactory">SslContextFactory</h4>
  <div class="markdown level1 summary"><p>Gets or sets the SSL context factory that will be used for creating a secure socket layer b/w nodes.
<p>
Default is null (no SSL).
<p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public ISslContextFactory SslContextFactory { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Ssl.ISslContextFactory.html">ISslContextFactory</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_StripedThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.StripedThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_StripedThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.StripedThreadPoolSize">StripedThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the striped thread pool, which processes cache requests.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int StripedThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SuppressWarnings_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SuppressWarnings*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SuppressWarnings" data-uid="Apache.Ignite.Core.IgniteConfiguration.SuppressWarnings">SuppressWarnings</h4>
  <div class="markdown level1 summary"><p>Whether to suppress warnings.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool SuppressWarnings { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SystemThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SystemThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SystemThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.SystemThreadPoolSize">SystemThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the system thread pool, which processes internal system messages.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int SystemThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_SystemWorkerBlockedTimeout_" data-uid="Apache.Ignite.Core.IgniteConfiguration.SystemWorkerBlockedTimeout*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_SystemWorkerBlockedTimeout" data-uid="Apache.Ignite.Core.IgniteConfiguration.SystemWorkerBlockedTimeout">SystemWorkerBlockedTimeout</h4>
  <div class="markdown level1 summary"><p>Gets or sets the timeout for blocked system workers detection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TimeSpan? SystemWorkerBlockedTimeout { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Nullable</span>&lt;<span class="xref">System.TimeSpan</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_TransactionConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfiguration.TransactionConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_TransactionConfiguration" data-uid="Apache.Ignite.Core.IgniteConfiguration.TransactionConfiguration">TransactionConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the transaction configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public TransactionConfiguration TransactionConfiguration { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Transactions.TransactionConfiguration.html">TransactionConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_UserAttributes_" data-uid="Apache.Ignite.Core.IgniteConfiguration.UserAttributes*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_UserAttributes" data-uid="Apache.Ignite.Core.IgniteConfiguration.UserAttributes">UserAttributes</h4>
  <div class="markdown level1 summary"><p>Gets or sets the user attributes for this node.
<p>
These attributes can be retrieved later via <a class="xref" href="Apache.Ignite.Core.Cluster.IBaselineNode.html#Apache_Ignite_Core_Cluster_IBaselineNode_Attributes">Attributes</a>.
Environment variables are added to node attributes automatically.
NOTE: attribute names starting with &quot;org.apache.ignite&quot; are reserved for internal use.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IDictionary&lt;string, object&gt; UserAttributes { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IDictionary</span>&lt;<span class="xref">System.String</span>, <span class="xref">System.Object</span>&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_UtilityCacheThreadPoolSize_" data-uid="Apache.Ignite.Core.IgniteConfiguration.UtilityCacheThreadPoolSize*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_UtilityCacheThreadPoolSize" data-uid="Apache.Ignite.Core.IgniteConfiguration.UtilityCacheThreadPoolSize">UtilityCacheThreadPoolSize</h4>
  <div class="markdown level1 summary"><p>Gets or sets the size of the utility cache thread pool.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int UtilityCacheThreadPoolSize { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_WorkDirectory_" data-uid="Apache.Ignite.Core.IgniteConfiguration.WorkDirectory*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_WorkDirectory" data-uid="Apache.Ignite.Core.IgniteConfiguration.WorkDirectory">WorkDirectory</h4>
  <div class="markdown level1 summary"><p>Gets or sets the work directory.
If not provided, a folder under <a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html#Apache_Ignite_Core_IgniteConfiguration_IgniteHome">IgniteHome</a> will be used.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string WorkDirectory { get; set; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_IgniteConfiguration_FromXml_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FromXml*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_FromXml_System_String_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FromXml(System.String)">FromXml(String)</h4>
  <div class="markdown level1 summary"><p>Deserializes IgniteConfiguration from the XML string.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IgniteConfiguration FromXml(string xml)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">xml</span></td>
        <td><p>Xml string.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a></td>
        <td><p>Deserialized instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_FromXml_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FromXml*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_FromXml_System_Xml_XmlReader_" data-uid="Apache.Ignite.Core.IgniteConfiguration.FromXml(System.Xml.XmlReader)">FromXml(XmlReader)</h4>
  <div class="markdown level1 summary"><p>Deserializes IgniteConfiguration from the XML reader.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static IgniteConfiguration FromXml(XmlReader reader)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Xml.XmlReader</span></td>
        <td><span class="parametername">reader</span></td>
        <td><p>The reader.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.IgniteConfiguration.html">IgniteConfiguration</a></td>
        <td><p>Deserialized instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ToXml_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ToXml*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ToXml" data-uid="Apache.Ignite.Core.IgniteConfiguration.ToXml">ToXml()</h4>
  <div class="markdown level1 summary"><p>Serializes this instance to an XML string.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public string ToXml()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_IgniteConfiguration_ToXml_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ToXml*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfiguration_ToXml_System_Xml_XmlWriter_System_String_" data-uid="Apache.Ignite.Core.IgniteConfiguration.ToXml(System.Xml.XmlWriter,System.String)">ToXml(XmlWriter, String)</h4>
  <div class="markdown level1 summary"><p>Serializes this instance to the specified XML writer.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void ToXml(XmlWriter writer, string rootElementName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Xml.XmlWriter</span></td>
        <td><span class="parametername">writer</span></td>
        <td><p>The writer.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">rootElementName</span></td>
        <td><p>Name of the root element.</p>
</td>
      </tr>
    </tbody>
  </table>
</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>
