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

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class IgniteConfigurationSection
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class IgniteConfigurationSection
   | 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.IgniteConfigurationSection">
  
  
  <h1 id="Apache_Ignite_Core_IgniteConfigurationSection" data-uid="Apache.Ignite.Core.IgniteConfigurationSection" class="text-break">Class IgniteConfigurationSection
  </h1>
  <div class="markdown level0 summary"><p>Ignite configuration section for app.config and web.config files.</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">System.Configuration.ConfigurationElement</span></div>
    <div class="level2"><span class="xref">System.Configuration.ConfigurationSection</span></div>
    <div class="level3"><span class="xref">IgniteConfigurationSection</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.GetRuntimeObject()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.IsModified()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.ResetModified()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.ShouldSerializePropertyInTargetVersion(System.Configuration.ConfigurationProperty, System.String, System.Runtime.Versioning.FrameworkName, System.Configuration.ConfigurationElement)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.ShouldSerializeElementInTargetVersion(System.Configuration.ConfigurationElement, System.String, System.Runtime.Versioning.FrameworkName)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.ShouldSerializeSectionInTargetVersion(System.Runtime.Versioning.FrameworkName)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationSection.SectionInformation</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Init()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.IsReadOnly()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.SetReadOnly()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.ListErrors(System.Collections.IList)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.InitializeDefault()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Reset(System.Configuration.ConfigurationElement)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.SetPropertyValue(System.Configuration.ConfigurationProperty, System.Object, System.Boolean)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Unmerge(System.Configuration.ConfigurationElement, System.Configuration.ConfigurationElement, System.Configuration.ConfigurationSaveMode)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.SerializeToXmlElement(System.Xml.XmlWriter, System.String)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.SerializeElement(System.Xml.XmlWriter, System.Boolean)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.DeserializeElement(System.Xml.XmlReader, System.Boolean)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.OnRequiredPropertyNotFound(System.String)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.PostDeserialize()</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.PreSerialize(System.Xml.XmlWriter)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.OnDeserializeUnrecognizedAttribute(System.String, System.String)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.OnDeserializeUnrecognizedElement(System.String, System.Xml.XmlReader)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.GetTransformedTypeString(System.String)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.GetTransformedAssemblyString(System.String)</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.LockAttributes</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.LockAllAttributesExcept</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.LockElements</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.LockAllElementsExcept</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.LockItem</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Item[System.Configuration.ConfigurationProperty]</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Item[System.String]</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.Properties</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.ElementInformation</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.EvaluationContext</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.ElementProperty</span>
    </div>
    <div>
      <span class="xref">System.Configuration.ConfigurationElement.CurrentConfiguration</span>
    </div>
    <div>
      <span class="xref">System.Object.ToString()</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.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_IgniteConfigurationSection_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class IgniteConfigurationSection : ConfigurationSection</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_IgniteConfigurationSection_IgniteConfiguration_" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.IgniteConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfigurationSection_IgniteConfiguration" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.IgniteConfiguration">IgniteConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets or sets the ignite configuration.</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 { get; }</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.IgniteConfiguration.html">IgniteConfiguration</a></td>
        <td><p>The ignite configuration.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_IgniteConfigurationSection_DeserializeSection_" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.DeserializeSection*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfigurationSection_DeserializeSection_System_Xml_XmlReader_" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.DeserializeSection(System.Xml.XmlReader)">DeserializeSection(XmlReader)</h4>
  <div class="markdown level1 summary"><p>Reads XML from the configuration file.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected override void DeserializeSection(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 object, which reads from the configuration file.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.Configuration.ConfigurationSection.DeserializeSection(System.Xml.XmlReader)</span></div>
  <a id="Apache_Ignite_Core_IgniteConfigurationSection_SerializeSection_" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.SerializeSection*"></a>
  <h4 id="Apache_Ignite_Core_IgniteConfigurationSection_SerializeSection_System_Configuration_ConfigurationElement_System_String_System_Configuration_ConfigurationSaveMode_" data-uid="Apache.Ignite.Core.IgniteConfigurationSection.SerializeSection(System.Configuration.ConfigurationElement,System.String,System.Configuration.ConfigurationSaveMode)">SerializeSection(ConfigurationElement, String, ConfigurationSaveMode)</h4>
  <div class="markdown level1 summary"><p>Creates an XML string containing an unmerged view of the <span class="xref">System.Configuration.ConfigurationSection</span> 
object as a single section to write to a file.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">protected override string SerializeSection(ConfigurationElement parentElement, string name, ConfigurationSaveMode saveMode)</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.Configuration.ConfigurationElement</span></td>
        <td><span class="parametername">parentElement</span></td>
        <td><p>The <span class="xref">System.Configuration.ConfigurationElement</span> 
instance to use as the parent when performing the un-merge.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>The name of the section to create.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Configuration.ConfigurationSaveMode</span></td>
        <td><span class="parametername">saveMode</span></td>
        <td><p>The <span class="xref">System.Configuration.ConfigurationSaveMode</span> instance 
to use when writing to a 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><span class="xref">System.String</span></td>
        <td><p>An XML string containing an unmerged view of the <span class="xref">System.Configuration.ConfigurationSection</span> object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">System.Configuration.ConfigurationSection.SerializeSection(System.Configuration.ConfigurationElement, System.String, System.Configuration.ConfigurationSaveMode)</span></div>
</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>
