﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
<link rel="canonical" href="https://ignite.apache.org/releases/latest/dotnetdoc/api/Apache.Ignite.Core.Services.IServiceDescriptor.html" />


    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IServiceDescriptor
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IServiceDescriptor
   | 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.Services.IServiceDescriptor">
  
  
  <h1 id="Apache_Ignite_Core_Services_IServiceDescriptor" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor" class="text-break">Interface IServiceDescriptor
  </h1>
  <div class="markdown level0 summary"><p>Service deployment descriptor.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Services.html">Apache.Ignite.Core.Services</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Services_IServiceDescriptor_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IServiceDescriptor</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_AffinityKey_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.AffinityKey*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_AffinityKey" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.AffinityKey">AffinityKey</h4>
  <div class="markdown level1 summary"><p>Gets affinity key used for key-to-node affinity calculation. 
This parameter is optional and is set only when key-affinity service was deployed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">object AffinityKey { 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><span class="xref">System.Object</span></td>
        <td><p>Affinity key, possibly null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_CacheName_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.CacheName*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_CacheName" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.CacheName">CacheName</h4>
  <div class="markdown level1 summary"><p>Gets cache name used for key-to-node affinity calculation. 
This parameter is optional and is set only when key-affinity service was deployed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string CacheName { 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><span class="xref">System.String</span></td>
        <td><p>Cache name, possibly null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_MaxPerNodeCount_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.MaxPerNodeCount*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_MaxPerNodeCount" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.MaxPerNodeCount">MaxPerNodeCount</h4>
  <div class="markdown level1 summary"><p>Gets maximum allowed number of deployed services on each node, 0 for unlimited.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int MaxPerNodeCount { 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><span class="xref">System.Int32</span></td>
        <td><p>Maximum allowed total number of deployed services on each node, 0 for unlimited.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_Name_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.Name*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_Name" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.Name">Name</h4>
  <div class="markdown level1 summary"><p>Gets service name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string Name { 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><span class="xref">System.String</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_OriginNodeId_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.OriginNodeId*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_OriginNodeId" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.OriginNodeId">OriginNodeId</h4>
  <div class="markdown level1 summary"><p>Gets affinity key used for key-to-node affinity calculation. 
This parameter is optional and is set only when key-affinity service was deployed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Guid OriginNodeId { 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><span class="xref">System.Guid</span></td>
        <td><p>Affinity key, possibly null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_TopologySnapshot_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.TopologySnapshot*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_TopologySnapshot" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.TopologySnapshot">TopologySnapshot</h4>
  <div class="markdown level1 summary"><p>Gets service deployment topology snapshot. Service topology snapshot is represented
by number of service instances deployed on a node mapped to node ID.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IDictionary&lt;Guid, int&gt; TopologySnapshot { 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><span class="xref">System.Collections.Generic.IDictionary</span>&lt;<span class="xref">System.Guid</span>, <span class="xref">System.Int32</span>&gt;</td>
        <td><p>Map of number of service instances per node ID.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_TotalCount_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.TotalCount*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_TotalCount" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.TotalCount">TotalCount</h4>
  <div class="markdown level1 summary"><p>Gets maximum allowed total number of deployed services in the grid, 0 for unlimited.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int TotalCount { 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><span class="xref">System.Int32</span></td>
        <td><p>Maximum allowed total number of deployed services in the grid, 0 for unlimited.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServiceDescriptor_Type_" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.Type*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServiceDescriptor_Type" data-uid="Apache.Ignite.Core.Services.IServiceDescriptor.Type">Type</h4>
  <div class="markdown level1 summary"><p>Gets the service type.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Type Type { 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><span class="xref">System.Type</span></td>
        <td><p>Service type.</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>
