Gecko.NCore.Client
12.0.0-beta.4
See the version list below for details.
dotnet add package Gecko.NCore.Client --version 12.0.0-beta.4
NuGet\Install-Package Gecko.NCore.Client -Version 12.0.0-beta.4
<PackageReference Include="Gecko.NCore.Client" Version="12.0.0-beta.4" />
<PackageVersion Include="Gecko.NCore.Client" Version="12.0.0-beta.4" />
<PackageReference Include="Gecko.NCore.Client" />
paket add Gecko.NCore.Client --version 12.0.0-beta.4
#r "nuget: Gecko.NCore.Client, 12.0.0-beta.4"
#:package Gecko.NCore.Client@12.0.0-beta.4
#addin nuget:?package=Gecko.NCore.Client&version=12.0.0-beta.4&prerelease
#tool nuget:?package=Gecko.NCore.Client&version=12.0.0-beta.4&prerelease
About
Gecko.NCore.Client is a NuGet package for .NET based development with the Elements® Integration Services (EIS) APIs.
How it works
The NCore.Client is used to develop so-called EIS integrations. These are applications (apis/services/frontends) used to integrate Elements with domain- and/or customer-specific applications, e.g. to update Elements with archive-worthy data. EIS is based on the WCF framework and SOAP protocols.
It is intended to be a helpful tool for integrating parties to more easily perform the functions that the EIS offers. It provides LINQ support and strongly typing to the underlying object model.
NCore.Client provides these main APIs (services):
- ObjectModelService defines models for CRUD operations, as well as endpoints for running both predefined and ad hoc queries.
- FunctionService defines a set of specific functions in the caseworker, archiving and meeting domain.
- DocumentService defines operations for checking in and out documents, and to upload or download documents.
- MetadataService defines operations for retrieving metadata associated with specific object types and keys.
Token-based authentication
Authentication is handled via Elements.Authentication.Client. There are two usage modes:
Full EIS context (Gecko.NCore.Client) — access the full LINQ/adapter surface through IEisContextFactory and create contexts with EisContextIdentity:
services.AddEisContext(new EisContextOptions
{
BaseAddress = "https://ncore.example.com",
ExternalSystemName = "MySystem",
Authentication = new EisAuthenticationOptions
{
ClientId = "...",
AuthorityUrl = "https://authority.example.com",
Scopes = ["..."]
},
ObjectModel = new AdapterRegistration<IAsyncObjectModelAdapter>(
EisServiceAddresses.ObjectModelV3En,
(identity, settings) => new AsyncObjectModelAdapterV3En(identity, settings))
});
Adapter registrations (ObjectModel, Functions, Documents, Metadata) are typed against the IAsyncXxxAdapter interfaces (e.g. IAsyncObjectModelAdapter).
Since these derive from their synchronous counterparts (e.g. IAsyncObjectModelAdapter : IObjectModelAdapter), registering an async-capable adapter automatically enables
both the synchronous (context.Query<T>(), context.Functions, ...) and asynchronous (context.Query<T>().ToListAsync(), context.FunctionsAsync, ...) surfaces on the resulting IEphorteContext.
public class MyService(IEisContextFactory factory)
{
public async Task RunAsync()
{
var context = factory.Create(new EisContextIdentity { Username = "alice", Role = "Reader" });
var persons = await context.Query<Person>().ToListAsync();
}
}
Individual WCF proxy (e.g. Gecko.NCore.Client.Claims.V1) — access a single service endpoint through a dedicated factory:
services.AddClaimServiceClient(new ClaimServiceClientOptions
{
BaseAddress = "https://ncore.example.com",
Authentication = new EisAuthenticationOptions
{
ClientId = "...",
AuthorityUrl = "https://authority.example.com",
Scopes = ["..."]
}
});
public class ClaimSyncService(IClaimServiceClientFactory factory)
{
public async Task RunAsync()
{
using var client = factory.Create(new EisClientIdentity { Username = "alice" });
// Use client here
}
}
Each service-specific options class (e.g. ClaimServiceClientOptions) inherits from the shared EisClientOptions base, which carries BaseAddress, TenantId, HttpClientName, Authentication, RelativeServiceAddress, and an optional BindingFactory for custom WCF bindings.
Gecko.NCore.Client.Authentication — authentication-specific shared types:
EisAuthenticationOptions— authentication configuration.
Gecko.NCore.Client.Context — context-specific types shared by the full EIS context API:
EisContextIdentity— per-call identity forIEisContextFactory(username, role, tenant).EisContextOptions— configuration forAddEisContextand adapter registrations.AdapterRegistration<TAdapter>— adapter wiring for the context factories.TAdapteris expected to be one of theIAsyncXxxAdapterinterfaces (e.g.IAsyncObjectModelAdapter), enabling both sync and async access from a single registered adapter instance.
Gecko.NCore.Client.ClientFactory — shared types used by the service-specific WCF proxy APIs:
EisClientIdentity— per-call identity for individual WCF service proxies (username, tenant).EisClientOptions— base options class for individual WCF service proxy clients (BaseAddress,TenantId,HttpClientName,Authentication,RelativeServiceAddress,BindingFactory). Service-specific options classes (e.g.ClaimServiceClientOptions) inherit from it.EisClientOptions.BindingFactory(Func<Binding>?) - if provided, a fresh custom binding instance is created for each client.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Elements.Authentication.Client (>= 1.0.3)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.11)
- Microsoft.Extensions.Http (>= 10.0.11)
- System.Security.Cryptography.Xml (>= 10.0.11)
- System.ServiceModel.Http (>= 10.0.652802)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on Gecko.NCore.Client:
| Package | Downloads |
|---|---|
|
Gecko.NCore.Client.ObjectModel.V3.No
For authentication setup and usage, see the package page on [NuGet.org](https://www.nuget.org/packages/Gecko.NCore.Client) |
|
|
Gecko.NCore.Client.ObjectModel.V3.En
For authentication setup and usage, see the package page on [NuGet.org](https://www.nuget.org/packages/Gecko.NCore.Client) |
|
|
Gecko.NCore.Client.Documents.V3
For authentication setup and usage, see the package page on [NuGet.org](https://www.nuget.org/packages/Gecko.NCore.Client) |
|
|
Gecko.NCore.Client.Documents.V2
For authentication setup and usage, see the package page on [NuGet.org](https://www.nuget.org/packages/Gecko.NCore.Client) |
|
|
Gecko.NCore.Client.Functions.V2
For authentication setup and usage, see the package page on [NuGet.org](https://www.nuget.org/packages/Gecko.NCore.Client) |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 12.0.1 | 0 | 10/16/2026 |
| 12.0.1-beta.1 | 0 | 10/16/2026 |
| 12.0.0 | 215 | 10/9/2026 |
| 12.0.0-beta.5 | 87 | 10/2/2026 |
| 12.0.0-beta.4 | 82 | 8/26/2026 |
| 12.0.0-beta.3 | 70 | 8/26/2026 |
| 12.0.0-beta.2 | 78 | 8/26/2026 |
| 12.0.0-beta.1 | 74 | 8/25/2026 |
| 11.0.0 | 7,931 | 8/7/2026 |
| 10.6.2 | 1,462 | 7/6/2026 |
| 10.6.1 | 1,166 | 6/19/2026 |
| 10.6.0 | 128 | 6/19/2026 |
| 10.5.0 | 4,127 | 6/19/2026 |
| 10.4.0 | 222 | 6/19/2026 |
| 10.3.4 | 890 | 6/19/2026 |
| 10.3.3 | 246 | 6/19/2026 |
| 10.3.2 | 153 | 6/19/2026 |
| 10.3.1 | 2,018 | 6/19/2026 |
| 10.3.1-beta-1 | 342 | 6/19/2026 |
| 10.3.0 | 620 | 6/19/2026 |
# Gecko.NCore.Client
This is a .NET library with basic functionality for integrating with
Element Integration Services (EIS).
## `12.0.0`
- Remove .NET 8 support from all Gecko.NCore.Client projects; packages now target .NET 10.0 only.
- Add token-based authentication support; for setup and usage examples see README.
## `11.0.0`
- Migrate packable Gecko.NCore.Client projects to multi-target net8.0 and net10.0.
- Remove legacy net48/netstandard compatibility branches from shared runtime code.
- Remove obsolete `ClientSettings.EndpointName` property (only supported on .NET4.8); service client configuration now relies solely on `Address`.
## `10.6.0`
- Add .NET 10.0 support
## `10.4.0`
PBI #
- Improve service client binding creation based on endpoint address for netstandard2.0 package version
## `10.3.4`
PBI #563823
- Add property Vedtak and Behandling to UtvalgSakBehandling
## `10.3.2`
PBI #560946
- Interface AsyncDataObjectQueryProvider : IAsyncDataObjectQueryProvider, for easier mocking and stubbing.
## `10.3.1`
PBI #515804
- Update nuget packages, get rid of vulnerable transitive dependencies.
## `10.3.0`
PBI #430556
- End of support for ".NET4.5".
Consider migrating to supported versions ".Net 4.8" or ".NETStandard 2.0".
## `10.2.0`
Bug #443901
- (netstandard2.0) Use a custom implementation of `IHttpMessageHandlerFactory` registered as
service in asp.net core/.net application (it efficiently creates and uses
`HttpClient`'s to prevent potential TCP port exhaustion).
``` c#
// add the IHttpClientFactory and related services to the IServiceCollection
IServiceProvider.AddHttpClient();
...
// create client adapter
var clientSettings = new ClientSettings
{
Address = ...,
HttpMessageHandlerFactory = _httpMessageHandlerFactory // factory resolved from registered services
};
var adapter = new ...Adapter(EphorteContextIdentity, clientSettings);
```