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