You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by pt...@apache.org on 2025/12/01 06:50:43 UTC
(ignite-3) branch main updated: IGNITE-27176 .NET: Document IgniteServiceCollectionExtensions (#7082)
This is an automated email from the ASF dual-hosted git repository.
ptupitsyn pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/main by this push:
new 4fc0a3a3723 IGNITE-27176 .NET: Document IgniteServiceCollectionExtensions (#7082)
4fc0a3a3723 is described below
commit 4fc0a3a3723c705c548577a4feef38b9276c90ed
Author: Pavel Tupitsyn <pt...@apache.org>
AuthorDate: Mon Dec 1 08:50:38 2025 +0200
IGNITE-27176 .NET: Document IgniteServiceCollectionExtensions (#7082)
---
docs/_docs/developers-guide/clients/dotnet.adoc | 25 +++++++++++++++++--------
1 file changed, 17 insertions(+), 8 deletions(-)
diff --git a/docs/_docs/developers-guide/clients/dotnet.adoc b/docs/_docs/developers-guide/clients/dotnet.adoc
index d20b2072246..eb6a8a13861 100644
--- a/docs/_docs/developers-guide/clients/dotnet.adoc
+++ b/docs/_docs/developers-guide/clients/dotnet.adoc
@@ -101,25 +101,29 @@ public class Account
== Using Dependency Injection
-Ignite client provides support for using link:https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection[Dependency Injection] when initializing a client instance.
+Ignite client provides `IServiceCollection` extensions for using link:https://learn.microsoft.com/en-us/dotnet/core/extensions/dependency-injection[Dependency Injection].
This approach can be used to simplify initializing the client in DI containers:
- Register the `IgniteClientGroup` in your DI container:
+
-[source, cpp]
+[source, csharp]
----
-builder.Services.AddSingleton<IgniteClientGroup>(_ => new IgniteClientGroup(
- new IgniteClientGroupConfiguration
+IServiceCollection services = builder.Services;
+
+services.AddIgniteClientGroup(new IgniteClientGroupConfiguration
+{
+ ClientConfiguration = new IgniteClientConfiguration
{
- Size = 3,
- ClientConfiguration = new("localhost"),
- }));
+ Endpoints = { "localhost" }
+ },
+ Size = 2
+});
----
+
- Use an instance of the group you created in your methods:
+
-[source, cpp]
+[source, csharp]
----
public async Task<IActionResult> Index([FromServices] IgniteClientGroup igniteGroup)
{
@@ -129,6 +133,11 @@ public async Task<IActionResult> Index([FromServices] IgniteClientGroup igniteGr
}
----
+`IgniteClientGroup` is registered as a singleton by default and provides a pool of cached Ignite client instances:
+
+* Ignite clients are thread-safe and can be shared between multiple consumers.
+* Client instances cache table and query metadata, which improves performance for subsequent operations.
+
== SQL API
Ignite 3 is focused on SQL, and SQL API is the primary way to work with the data. You can read more about supported SQL statements in the link:sql-reference/ddl[SQL Reference] section. Here is how you can send SQL requests: