﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.7.5/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>
