Hazelcast .NET brings the full power of the Hazelcast high-performance, in-memory computing platform to the Microsoft .NET ecosystem. The Hazelcast .NET Client allows you to elastically scale your .NET caches at high read speeds, to access all of Hazelcast data structures such as distributed maps, queues, topics and more. All, with enterprise level security through SSL and mutual authentication.
Documentation for the client is provided on the documentation site, with examples, guides and FAQs, and a complete reference documentation for the public API.
The .NET client itself is distributed via NuGet as a package named Hazelcast.NET. It can be installed like any other NuGet package, either via the Visual Studio GUI, or via the package manager. Note that Hazelcast is composed of two parts: the server, and the client. Browse to Hazelcast In-Memory Computing to find out how to obtain and run the server part.
The Hazelcast .NET solution is Open Source, released under the Apache License 2.0, and welcomes contributions. The project lives here on GitHub, where you can obtain the source code, report issues, and interract with the community. Contributions are welcome!
In addition to the core Hazelcast.Net client package, there are several extension packages that provide additional functionality. These include:
Hazelcast.Net.DependencyInjection: Provides integration with Microsoft's Dependency Injection framework which is also used with ASP.NET.Hazelcast.Net.Caching: Adds caching capabilities to the Hazelcast .NET client by implementingIDistributedCache.Hazelcast.Net.Linq.Async: Enables LINQ support for asynchronous map querying with Hazelcast.
Browse to this page for details about versions.
See this branch for more information about version 3 of the client.
Check the Hazelcast.Net.Examples project.
Here is a simple example that connects to a Hazelcast server running on localhost, puts and gets a value from a distributed map.
var options = new HazelcastOptionsBuilder()
.With(o=> o.Networking.Addresses.Add("127.0.0.1:5701"))
.Build();
// create an Hazelcast client and connect to a server running on localhost
await using var client = await HazelcastClientFactory.StartNewClientAsync(options);
// get the distributed map from the cluster
await using var map = await client.GetMapAsync<string, string>("simple-example");
await map.PutAsync("my-key", "my-value");
var value = await map.GetAsync("my-key");We encourage any type of contribution in the form of issue reports or pull requests.
For issue reports, please share the following information with us to quickly resolve the problems.
- Hazelcast IMDG and the client version that you use
- General information about the environment and the architecture you use like Node.js version, cluster size, number of clients, Java version, JVM parameters, operating system etc.
- Logs and stack traces, if any.
- Detailed description of the steps to reproduce the issue.
Contributions are submitted, reviewed and accepted using the pull requests on GitHub. For an enhancement or larger feature, create a GitHub issue first to discuss.
Development for future versions takes place in the master branch (this branch). The documentation site contains details about building, testing and running the code.
Copyright (c) 2008-2025, Hazelcast, Inc. All Rights Reserved.
Visit www.hazelcast.com for more information.
