Apache Ignite.NET Documentation

The Apache Ignite .NET Developer Hub

Welcome to the Apache Ignite .NET developer hub. You'll find comprehensive guides and documentation to help you start working with Apache Ignite.NET as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    

Standalone Nodes

An Ignite.NET node can be started within the code of a .NET application by using Ignition.Start() or as a separate process with Apache.Ignite.exe executable located under {apache_ignite_release}\platforms\dotnet\bin folder. Internally Apache.Ignite.exe references Apache.Ignite.Core.dll and uses Ignition.Start() as you would normally do, and can be configured with command line arguments, listed below, by passing them as command line options or setting directly in Apache.Ignite.exe.config file.

Configuring Standalone Node via Command Line

Below you can see basic Ignite parameters that can be passed as command line arguments when a node is started with Apache.Ignite.exe executable:

Command Line Option


Path to Ignite installation directory (if not provided IGNITE_HOME environment variable is used)


Path to the app.config file (if not provided Apache.Ignite.exe.config is used).


Name of the IgniteConfigurationSection in the configuration file to use.


Path to Spring configuration file.


Path to JVM library jvm.dll (if not provided JAVA_HOME environment variable is used).


Classpath passed to JVM (enlist additional jar files here).


Whether to print warnings.


JVM options passed to created JVM.


Additional .NET assemblies to be loaded.


Initial Java heap size, in megabytes. Maps to -Xms Java parameter.


Maximum Java heap size, in megabytes. Maps to -Xmx Java parameter.


Installs Ignite Windows service with provided options.


Uninstalls Ignite Windows service.

Apache.Ignite.exe -ConfigFileName=c:\ignite\my-config.xml -ConfigSectionName=igniteConfiguration -Assembly=c:\ignite\my-code.dll -J-Xms1024m -J-Xmx2048m

Configuring Standalone Node via XML Files

A standalone node can be configured with app.config XML or Spring XML (or both). Every command line argument, listed above, can also be used in Apache.Ignite.exe.config under appSettings section:

    <section name="igniteConfiguration" type="Apache.Ignite.Core.IgniteConfigurationSection, Apache.Ignite.Core" />
  <igniteConfiguration springConfigUrl="c:\ignite\spring.xml">
    <cacheConfiguration name="myCache" cacheMode="Replicated" />
    <add key="Ignite.Assembly.1" value="my-assembly.dll"/>
    <add key="Ignite.Assembly.2" value="my-assembly2.dll"/>
    <add key="Ignite.ConfigSectionName" value="igniteConfiguration" />

This example defines igniteConfiguration section and uses it to start Ignite via Ignite.ConfigSectionName setting. It also references Spring XML configuration file, which will be combined with specified configuration.

Loading User Assemblies

Some Ignite APIs involve remote code execution and require you to load assemblies with your code into Apache.Ignite.exe via -Assembly command line argument or Ignite.Assembly app setting.

The following functionalities require a corresponding assembly to be loaded on all nodes:

  • ICompute (supports automatic loading, see Remote Assembly Loading)
  • Scan Queries with filter
  • Continuous Queries with filter
  • ICache.Invoke methods
  • ICache.LoadCache with filter
  • IServices
  • IMessaging.RemoteListen
  • IEvents.RemoteQuery

Missing User Assemblies

If a user assembly cannot be located a Could not load file or assembly 'MyAssembly' or one of its dependencies exception will be thrown.

Note that it is also necessary to add any dependencies of the user assembly to the list.

Ignite.NET as Windows Service

Apache.Ignite.exe can be installed as a Windows Service so it is started automatically via /install command line argument. All other command line arguments will be preserved and used each time the service starts. Use /uninstall to uninstall the service.

Apache.Ignite.exe /install -J-Xms513m -J-Xmx555m -ConfigSectionName=igniteConfiguration

Standalone Nodes

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.