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

    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IServices
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IServices
   | 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.IServices">
  
  
  <h1 id="Apache_Ignite_Core_Services_IServices" data-uid="Apache.Ignite.Core.Services.IServices" class="text-break">Interface IServices
  </h1>
  <div class="markdown level0 summary"><p>Defines functionality to deploy distributed services in the Ignite.</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_IServices_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IServices</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Services_IServices_ClusterGroup_" data-uid="Apache.Ignite.Core.Services.IServices.ClusterGroup*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_ClusterGroup" data-uid="Apache.Ignite.Core.Services.IServices.ClusterGroup">ClusterGroup</h4>
  <div class="markdown level1 summary"><p>Gets the cluster group to which this instance belongs.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IClusterGroup ClusterGroup { 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.Cluster.IClusterGroup.html">IClusterGroup</a></td>
        <td><p>The cluster group to which this instance belongs.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Services_IServices_Cancel_" data-uid="Apache.Ignite.Core.Services.IServices.Cancel*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_Cancel_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.Cancel(System.String)">Cancel(String)</h4>
  <div class="markdown level1 summary"><p>Cancels service deployment. If a service with specified name was deployed on the grid,
then <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Cancel_Apache_Ignite_Core_Services_IServiceContext_">Cancel(IServiceContext)</a> method will be called on it.
<p>
Note that Ignite cannot guarantee that the service exits from <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Execute_Apache_Ignite_Core_Services_IServiceContext_">Execute(IServiceContext)</a>
method whenever <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Cancel_Apache_Ignite_Core_Services_IServiceContext_">Cancel(IServiceContext)</a> is called. It is up to the user to
make sure that the service code properly reacts to cancellations.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Cancel(string name)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Name of the service to cancel.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_CancelAll_" data-uid="Apache.Ignite.Core.Services.IServices.CancelAll*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_CancelAll" data-uid="Apache.Ignite.Core.Services.IServices.CancelAll">CancelAll()</h4>
  <div class="markdown level1 summary"><p>Cancels all deployed services.
<p>
Note that depending on user logic, it may still take extra time for a service to
finish execution, even after it was cancelled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void CancelAll()</code></pre>
  </div>
  <a id="Apache_Ignite_Core_Services_IServices_CancelAllAsync_" data-uid="Apache.Ignite.Core.Services.IServices.CancelAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_CancelAllAsync" data-uid="Apache.Ignite.Core.Services.IServices.CancelAllAsync">CancelAllAsync()</h4>
  <div class="markdown level1 summary"><p>Cancels all deployed services.
<p>
Note that depending on user logic, it may still take extra time for a service to
finish execution, even after it was cancelled.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task CancelAllAsync()</code></pre>
  </div>
  <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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_CancelAsync_" data-uid="Apache.Ignite.Core.Services.IServices.CancelAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_CancelAsync_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.CancelAsync(System.String)">CancelAsync(String)</h4>
  <div class="markdown level1 summary"><p>Cancels service deployment. If a service with specified name was deployed on the grid,
then <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Cancel_Apache_Ignite_Core_Services_IServiceContext_">Cancel(IServiceContext)</a> method will be called on it.
<p>
Note that Ignite cannot guarantee that the service exits from <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Execute_Apache_Ignite_Core_Services_IServiceContext_">Execute(IServiceContext)</a>
method whenever <a class="xref" href="Apache.Ignite.Core.Services.IService.html#Apache_Ignite_Core_Services_IService_Cancel_Apache_Ignite_Core_Services_IServiceContext_">Cancel(IServiceContext)</a> is called. It is up to the user to
make sure that the service code properly reacts to cancellations.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task CancelAsync(string name)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Name of the service to cancel.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_Deploy_" data-uid="Apache.Ignite.Core.Services.IServices.Deploy*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_Deploy_Apache_Ignite_Core_Services_ServiceConfiguration_" data-uid="Apache.Ignite.Core.Services.IServices.Deploy(Apache.Ignite.Core.Services.ServiceConfiguration)">Deploy(ServiceConfiguration)</h4>
  <div class="markdown level1 summary"><p>Deploys instances of the service in the Ignite according to provided configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void Deploy(ServiceConfiguration configuration)</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><a class="xref" href="Apache.Ignite.Core.Services.ServiceConfiguration.html">ServiceConfiguration</a></td>
        <td><span class="parametername">configuration</span></td>
        <td><p>Service configuration.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployAll_" data-uid="Apache.Ignite.Core.Services.IServices.DeployAll*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployAll_System_Collections_Generic_IEnumerable_Apache_Ignite_Core_Services_ServiceConfiguration__" data-uid="Apache.Ignite.Core.Services.IServices.DeployAll(System.Collections.Generic.IEnumerable{Apache.Ignite.Core.Services.ServiceConfiguration})">DeployAll(IEnumerable&lt;ServiceConfiguration&gt;)</h4>
  <div class="markdown level1 summary"><p>Deploys multiple services described by provided configurations. Depending on specified parameters, 
multiple instances of the same service may be deployed. Whenever topology changes,
Ignite will automatically rebalance the deployed services within cluster to make sure that each node
will end up with about equal number of deployed instances whenever possible.
<p>
If deployment of some of the provided services fails, then <a class="xref" href="Apache.Ignite.Core.Services.ServiceDeploymentException.html">ServiceDeploymentException</a> 
containing a list of failed service configurations 
(<a class="xref" href="Apache.Ignite.Core.Services.ServiceDeploymentException.html#Apache_Ignite_Core_Services_ServiceDeploymentException_FailedConfigurations">FailedConfigurations</a>) will be thrown. It is guaranteed that all 
services  that were provided to this method and are not present in the list of failed services are 
successfully deployed by the moment of the exception being thrown.
Note that if exception is thrown, then partial deployment may have occurred.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DeployAll(IEnumerable&lt;ServiceConfiguration&gt; configurations)</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.Collections.Generic.IEnumerable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Services.ServiceConfiguration.html">ServiceConfiguration</a>&gt;</td>
        <td><span class="parametername">configurations</span></td>
        <td><p>Collection of service configurations to be deployed.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployAllAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployAllAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployAllAsync_System_Collections_Generic_IEnumerable_Apache_Ignite_Core_Services_ServiceConfiguration__" data-uid="Apache.Ignite.Core.Services.IServices.DeployAllAsync(System.Collections.Generic.IEnumerable{Apache.Ignite.Core.Services.ServiceConfiguration})">DeployAllAsync(IEnumerable&lt;ServiceConfiguration&gt;)</h4>
  <div class="markdown level1 summary"><p>Asynchronously deploys multiple services described by provided configurations. Depending on specified 
parameters, multiple instances of the same service may be deployed (<a class="xref" href="Apache.Ignite.Core.Services.ServiceConfiguration.html">ServiceConfiguration</a>).
Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make
sure that each node  will end up with about equal number of deployed instances whenever possible.
<p>
If deployment of some of the provided services fails, then <a class="xref" href="Apache.Ignite.Core.Services.ServiceDeploymentException.html">ServiceDeploymentException</a> 
containing a list of failed service configurations 
(<a class="xref" href="Apache.Ignite.Core.Services.ServiceDeploymentException.html#Apache_Ignite_Core_Services_ServiceDeploymentException_FailedConfigurations">FailedConfigurations</a>) will be thrown. It is guaranteed that all 
services, that were provided to this method and are not present in the list of failed services, are 
successfully deployed by the moment of the exception being thrown.
Note that if exception is thrown, then partial deployment may have occurred.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployAllAsync(IEnumerable&lt;ServiceConfiguration&gt; configurations)</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.Collections.Generic.IEnumerable</span>&lt;<a class="xref" href="Apache.Ignite.Core.Services.ServiceConfiguration.html">ServiceConfiguration</a>&gt;</td>
        <td><span class="parametername">configurations</span></td>
        <td><p>Collection of service configurations to be deployed.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployAsync_Apache_Ignite_Core_Services_ServiceConfiguration_" data-uid="Apache.Ignite.Core.Services.IServices.DeployAsync(Apache.Ignite.Core.Services.ServiceConfiguration)">DeployAsync(ServiceConfiguration)</h4>
  <div class="markdown level1 summary"><p>Deploys instances of the service in the Ignite according to provided configuration.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployAsync(ServiceConfiguration configuration)</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><a class="xref" href="Apache.Ignite.Core.Services.ServiceConfiguration.html">ServiceConfiguration</a></td>
        <td><span class="parametername">configuration</span></td>
        <td><p>Service configuration.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployClusterSingleton_" data-uid="Apache.Ignite.Core.Services.IServices.DeployClusterSingleton*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployClusterSingleton_System_String_Apache_Ignite_Core_Services_IService_" data-uid="Apache.Ignite.Core.Services.IServices.DeployClusterSingleton(System.String,Apache.Ignite.Core.Services.IService)">DeployClusterSingleton(String, IService)</h4>
  <div class="markdown level1 summary"><p>Deploys a cluster-wide singleton service. Ignite guarantees that there is always
one instance of the service in the cluster. In case if Ignite node on which the service
was deployed crashes or stops, Ignite will automatically redeploy it on another node.
However, if the node on which the service is deployed remains in topology, then the
service will always be deployed on that node only, regardless of topology changes.
<p>
Note that in case of topology changes, due to network delays, there may be a temporary situation
when a singleton service instance will be active on more than one node (e.g. crash detection delay).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DeployClusterSingleton(string name, IService service)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployClusterSingletonAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployClusterSingletonAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployClusterSingletonAsync_System_String_Apache_Ignite_Core_Services_IService_" data-uid="Apache.Ignite.Core.Services.IServices.DeployClusterSingletonAsync(System.String,Apache.Ignite.Core.Services.IService)">DeployClusterSingletonAsync(String, IService)</h4>
  <div class="markdown level1 summary"><p>Deploys a cluster-wide singleton service. Ignite guarantees that there is always
one instance of the service in the cluster. In case if Ignite node on which the service
was deployed crashes or stops, Ignite will automatically redeploy it on another node.
However, if the node on which the service is deployed remains in topology, then the
service will always be deployed on that node only, regardless of topology changes.
<p>
Note that in case of topology changes, due to network delays, there may be a temporary situation
when a singleton service instance will be active on more than one node (e.g. crash detection delay).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployClusterSingletonAsync(string name, IService service)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployKeyAffinitySingleton_" data-uid="Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingleton*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployKeyAffinitySingleton__1_System_String_Apache_Ignite_Core_Services_IService_System_String___0_" data-uid="Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingleton``1(System.String,Apache.Ignite.Core.Services.IService,System.String,``0)">DeployKeyAffinitySingleton&lt;TK&gt;(String, IService, String, TK)</h4>
  <div class="markdown level1 summary"><p>Deploys one instance of this service on the primary node for a given affinity key.
Whenever topology changes and primary node assignment changes, Ignite will always
make sure that the service is undeployed on the previous primary node and deployed
on the new primary node.
<p>
Note that in case of topology changes, due to network delays, there may be a temporary situation
when a service instance will be active on more than one node (e.g. crash detection delay).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DeployKeyAffinitySingleton&lt;TK&gt;(string name, IService service, string cacheName, TK affinityKey)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">cacheName</span></td>
        <td><p>Name of the cache on which affinity for key should be calculated, null for
default cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TK</span></td>
        <td><span class="parametername">affinityKey</span></td>
        <td><p>Affinity cache key.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TK</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployKeyAffinitySingletonAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingletonAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployKeyAffinitySingletonAsync__1_System_String_Apache_Ignite_Core_Services_IService_System_String___0_" data-uid="Apache.Ignite.Core.Services.IServices.DeployKeyAffinitySingletonAsync``1(System.String,Apache.Ignite.Core.Services.IService,System.String,``0)">DeployKeyAffinitySingletonAsync&lt;TK&gt;(String, IService, String, TK)</h4>
  <div class="markdown level1 summary"><p>Deploys one instance of this service on the primary node for a given affinity key.
Whenever topology changes and primary node assignment changes, Ignite will always
make sure that the service is undeployed on the previous primary node and deployed
on the new primary node.
<p>
Note that in case of topology changes, due to network delays, there may be a temporary situation
when a service instance will be active on more than one node (e.g. crash detection delay).</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployKeyAffinitySingletonAsync&lt;TK&gt;(string name, IService service, string cacheName, TK affinityKey)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">cacheName</span></td>
        <td><p>Name of the cache on which affinity for key should be calculated, null for
default cache.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">TK</span></td>
        <td><span class="parametername">affinityKey</span></td>
        <td><p>Affinity cache key.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TK</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployMultiple_" data-uid="Apache.Ignite.Core.Services.IServices.DeployMultiple*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployMultiple_System_String_Apache_Ignite_Core_Services_IService_System_Int32_System_Int32_" data-uid="Apache.Ignite.Core.Services.IServices.DeployMultiple(System.String,Apache.Ignite.Core.Services.IService,System.Int32,System.Int32)">DeployMultiple(String, IService, Int32, Int32)</h4>
  <div class="markdown level1 summary"><p>Deploys multiple instances of the service on the grid. Ignite will deploy a
maximum amount of services equal to <code data-dev-comment-type="paramref" class="paramref">totalCount</code> parameter making sure that
there are no more than <code data-dev-comment-type="paramref" class="paramref">maxPerNodeCount</code> service instances running
on each node. Whenever topology changes, Ignite will automatically rebalance
the deployed services within cluster to make sure that each node will end up with
about equal number of deployed instances whenever possible.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DeployMultiple(string name, IService service, int totalCount, int maxPerNodeCount)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">totalCount</span></td>
        <td><p>Maximum number of deployed services in the grid, 0 for unlimited.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">maxPerNodeCount</span></td>
        <td><p>Maximum number of deployed services on each node, 0 for unlimited.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployMultipleAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployMultipleAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployMultipleAsync_System_String_Apache_Ignite_Core_Services_IService_System_Int32_System_Int32_" data-uid="Apache.Ignite.Core.Services.IServices.DeployMultipleAsync(System.String,Apache.Ignite.Core.Services.IService,System.Int32,System.Int32)">DeployMultipleAsync(String, IService, Int32, Int32)</h4>
  <div class="markdown level1 summary"><p>Deploys multiple instances of the service on the grid. Ignite will deploy a
maximum amount of services equal to <code data-dev-comment-type="paramref" class="paramref">totalCount</code> parameter making sure that
there are no more than <code data-dev-comment-type="paramref" class="paramref">maxPerNodeCount</code> service instances running
on each node. Whenever topology changes, Ignite will automatically rebalance
the deployed services within cluster to make sure that each node will end up with
about equal number of deployed instances whenever possible.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployMultipleAsync(string name, IService service, int totalCount, int maxPerNodeCount)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">totalCount</span></td>
        <td><p>Maximum number of deployed services in the grid, 0 for unlimited.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><span class="parametername">maxPerNodeCount</span></td>
        <td><p>Maximum number of deployed services on each node, 0 for unlimited.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployNodeSingleton_" data-uid="Apache.Ignite.Core.Services.IServices.DeployNodeSingleton*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployNodeSingleton_System_String_Apache_Ignite_Core_Services_IService_" data-uid="Apache.Ignite.Core.Services.IServices.DeployNodeSingleton(System.String,Apache.Ignite.Core.Services.IService)">DeployNodeSingleton(String, IService)</h4>
  <div class="markdown level1 summary"><p>Deploys a per-node singleton service. Ignite guarantees that there is always
one instance of the service running on each node. Whenever new nodes are started
within the underlying cluster group, Ignite will automatically deploy one instance of
the service on every new node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void DeployNodeSingleton(string name, IService service)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_DeployNodeSingletonAsync_" data-uid="Apache.Ignite.Core.Services.IServices.DeployNodeSingletonAsync*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_DeployNodeSingletonAsync_System_String_Apache_Ignite_Core_Services_IService_" data-uid="Apache.Ignite.Core.Services.IServices.DeployNodeSingletonAsync(System.String,Apache.Ignite.Core.Services.IService)">DeployNodeSingletonAsync(String, IService)</h4>
  <div class="markdown level1 summary"><p>Deploys a per-node singleton service. Ignite guarantees that there is always
one instance of the service running on each node. Whenever new nodes are started
within the underlying cluster group, Ignite will automatically deploy one instance of
the service on every new node.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">Task DeployNodeSingletonAsync(string name, IService service)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Services.IService.html">IService</a></td>
        <td><span class="parametername">service</span></td>
        <td><p>Service instance.</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.Threading.Tasks.Task</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetDynamicServiceProxy_" data-uid="Apache.Ignite.Core.Services.IServices.GetDynamicServiceProxy*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetDynamicServiceProxy_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.GetDynamicServiceProxy(System.String)">GetDynamicServiceProxy(String)</h4>
  <div class="markdown level1 summary"><p>Gets a remote handle on the service as a dynamic object. If service is available locally,
then local instance is returned, otherwise, a remote proxy is dynamically
created and provided for the specified service.
<p>
This method utilizes <code>dynamic</code> feature of the language and does not require any
service interfaces or classes. Java services can be accessed as well as .NET services.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">dynamic GetDynamicServiceProxy(string name)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</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.Object</span></td>
        <td><p>Either proxy over remote service or local service if it is deployed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetDynamicServiceProxy_" data-uid="Apache.Ignite.Core.Services.IServices.GetDynamicServiceProxy*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetDynamicServiceProxy_System_String_System_Boolean_" data-uid="Apache.Ignite.Core.Services.IServices.GetDynamicServiceProxy(System.String,System.Boolean)">GetDynamicServiceProxy(String, Boolean)</h4>
  <div class="markdown level1 summary"><p>Gets a remote handle on the service as a dynamic object. If service is available locally,
then local instance is returned, otherwise, a remote proxy is dynamically
created and provided for the specified service.
<p>
This method utilizes <code>dynamic</code> feature of the language and does not require any
service interfaces or classes. Java services can be accessed as well as .NET services.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">dynamic GetDynamicServiceProxy(string name, bool sticky)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">sticky</span></td>
        <td><p>Whether or not Ignite should always contact the same remote
service or try to load-balance between services.</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.Object</span></td>
        <td><p>Either proxy over remote service or local service if it is deployed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetService_" data-uid="Apache.Ignite.Core.Services.IServices.GetService*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetService__1_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.GetService``1(System.String)">GetService&lt;T&gt;(String)</h4>
  <div class="markdown level1 summary"><p>Gets deployed service with specified name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T GetService&lt;T&gt;(string name)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</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">T</span></td>
        <td><p>Deployed service with specified name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>Service type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetServiceDescriptors_" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceDescriptors*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetServiceDescriptors" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceDescriptors">GetServiceDescriptors()</h4>
  <div class="markdown level1 summary"><p>Gets metadata about all deployed services.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;IServiceDescriptor&gt; GetServiceDescriptors()</code></pre>
  </div>
  <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.Collections.Generic.ICollection</span>&lt;<a class="xref" href="Apache.Ignite.Core.Services.IServiceDescriptor.html">IServiceDescriptor</a>&gt;</td>
        <td><p>Metadata about all deployed services.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetServiceProxy_" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceProxy*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetServiceProxy__1_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceProxy``1(System.String)">GetServiceProxy&lt;T&gt;(String)</h4>
  <div class="markdown level1 summary"><p>Gets a remote handle on the service. If service is available locally,
then local instance is returned, otherwise, a remote proxy is dynamically
created and provided for the specified service.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T GetServiceProxy&lt;T&gt;(string name)where T : class</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</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">T</span></td>
        <td><p>Either proxy over remote service or local service if it is deployed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>Service type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetServiceProxy_" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceProxy*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetServiceProxy__1_System_String_System_Boolean_" data-uid="Apache.Ignite.Core.Services.IServices.GetServiceProxy``1(System.String,System.Boolean)">GetServiceProxy&lt;T&gt;(String, Boolean)</h4>
  <div class="markdown level1 summary"><p>Gets a remote handle on the service. If service is available locally,
then local instance is returned, otherwise, a remote proxy is dynamically
created and provided for the specified service.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T GetServiceProxy&lt;T&gt;(string name, bool sticky)where T : class</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><span class="parametername">sticky</span></td>
        <td><p>Whether or not Ignite should always contact the same remote
service or try to load-balance between services.</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">T</span></td>
        <td><p>Either proxy over remote service or local service if it is deployed locally.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>Service type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_GetServices_" data-uid="Apache.Ignite.Core.Services.IServices.GetServices*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_GetServices__1_System_String_" data-uid="Apache.Ignite.Core.Services.IServices.GetServices``1(System.String)">GetServices&lt;T&gt;(String)</h4>
  <div class="markdown level1 summary"><p>Gets all deployed services with specified name.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">ICollection&lt;T&gt; GetServices&lt;T&gt;(string name)</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.String</span></td>
        <td><span class="parametername">name</span></td>
        <td><p>Service name.</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.Collections.Generic.ICollection</span>&lt;T&gt;</td>
        <td><p>All deployed services with specified name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td><p>Service type.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_WithKeepBinary_" data-uid="Apache.Ignite.Core.Services.IServices.WithKeepBinary*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_WithKeepBinary" data-uid="Apache.Ignite.Core.Services.IServices.WithKeepBinary">WithKeepBinary()</h4>
  <div class="markdown level1 summary"><p>Returns an instance with binary mode enabled.
Service method results will be kept in binary form.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IServices WithKeepBinary()</code></pre>
  </div>
  <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><a class="xref" href="Apache.Ignite.Core.Services.IServices.html">IServices</a></td>
        <td><p>Instance with binary mode enabled.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Services_IServices_WithServerKeepBinary_" data-uid="Apache.Ignite.Core.Services.IServices.WithServerKeepBinary*"></a>
  <h4 id="Apache_Ignite_Core_Services_IServices_WithServerKeepBinary" data-uid="Apache.Ignite.Core.Services.IServices.WithServerKeepBinary">WithServerKeepBinary()</h4>
  <div class="markdown level1 summary"><p>Returns an instance with server-side binary mode enabled.
Service method arguments will be kept in binary form.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IServices WithServerKeepBinary()</code></pre>
  </div>
  <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><a class="xref" href="Apache.Ignite.Core.Services.IServices.html">IServices</a></td>
        <td><p>Instance with server-side binary mode enabled.</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>
