﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Enum ClientStatusCode
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Enum ClientStatusCode
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.58.4.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="../">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <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">Search Results for <span></span></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination" data-first="First" data-prev="Previous" data-next="Next" data-last="Last"></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.ClientStatusCode">
  
  
  <h1 id="Apache_Ignite_Core_Client_ClientStatusCode" data-uid="Apache.Ignite.Core.Client.ClientStatusCode" class="text-break">Enum ClientStatusCode
  </h1>
  <div class="markdown level0 summary"><p>Client status codes (see <a class="xref" href="Apache.Ignite.Core.Client.IgniteClientException.html#Apache_Ignite_Core_Client_IgniteClientException_StatusCode">StatusCode</a>).</p>
</div>
  <div class="markdown level0 conceptual"></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_ClientStatusCode_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public enum ClientStatusCode : int</code></pre>
  </div>
  <h3 id="fields">Fields
  </h3>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    <thead>
    <tbody>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_AuthenticationFailed">AuthenticationFailed</td>
        <td><p>Authentication failed.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_CacheDoesNotExist">CacheDoesNotExist</td>
        <td><p>Specified cache does not exist.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_CacheExists">CacheExists</td>
        <td><p>Cache already exists.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_Fail">Fail</td>
        <td><p>Operation failed (general-purpose code).</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_InvalidNodeState">InvalidNodeState</td>
        <td><p>Invalid node state (node is stopping or not fully started).</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_InvalidOpCode">InvalidOpCode</td>
        <td><p>Invalid request operation code.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_ResourceDoesNotExist">ResourceDoesNotExist</td>
        <td><p>Resource does not exist.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_SecurityViolation">SecurityViolation</td>
        <td><p>Authorization failure.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_Success">Success</td>
        <td><p>Operation succeeded.</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_TooManyComputeTasks">TooManyComputeTasks</td>
        <td><p>Too many compute tasks (see <a class="xref" href="Apache.Ignite.Core.Configuration.ThinClientConfiguration.html#Apache_Ignite_Core_Configuration_ThinClientConfiguration_MaxActiveComputeTasksPerConnection">MaxActiveComputeTasksPerConnection</a>).</p>
</td>
      </tr>
      <tr>
        <td id="Apache_Ignite_Core_Client_ClientStatusCode_TooManyCursors">TooManyCursors</td>
        <td><p>Too many cursors (see <a class="xref" href="Apache.Ignite.Core.Configuration.ClientConnectorConfiguration.html#Apache_Ignite_Core_Configuration_ClientConnectorConfiguration_MaxOpenCursorsPerConnection">MaxOpenCursorsPerConnection</a>).</p>
</td>
      </tr>
    </tbody>
  </thead></thead></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">
                <h5>In This Article</h5>
                <div></div>
              </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>
