﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.4.0/dotnetdoc/api/Apache.Ignite.Core.Client.IgniteClientConfigurationSection.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class IgniteClientConfigurationSection
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class IgniteClientConfigurationSection
   | 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.Client.IgniteClientConfigurationSection">
  
  
  <h1 id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection" class="text-break">Class IgniteClientConfigurationSection
  </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">IgniteClientConfigurationSection</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.Client.html">Apache.Ignite.Core.Client</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class IgniteClientConfigurationSection : ConfigurationSection</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_IgniteClientConfiguration_" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.IgniteClientConfiguration*"></a>
  <h4 id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_IgniteClientConfiguration" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.IgniteClientConfiguration">IgniteClientConfiguration</h4>
  <div class="markdown level1 summary"><p>Gets the Ignite client configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IgniteClientConfiguration IgniteClientConfiguration { 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.Client.IgniteClientConfiguration.html">IgniteClientConfiguration</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_DeserializeSection_" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.DeserializeSection*"></a>
  <h4 id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_DeserializeSection_System_Xml_XmlReader_" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.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_Client_IgniteClientConfigurationSection_SerializeSection_" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.SerializeSection*"></a>
  <h4 id="Apache_Ignite_Core_Client_IgniteClientConfigurationSection_SerializeSection_System_Configuration_ConfigurationElement_System_String_System_Configuration_ConfigurationSaveMode_" data-uid="Apache.Ignite.Core.Client.IgniteClientConfigurationSection.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 - 2018 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>
