Soenneker.Asana.OpenApiClientUtil
4.0.154
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Asana.OpenApiClientUtil --version 4.0.154
NuGet\Install-Package Soenneker.Asana.OpenApiClientUtil -Version 4.0.154
<PackageReference Include="Soenneker.Asana.OpenApiClientUtil" Version="4.0.154" />
<PackageVersion Include="Soenneker.Asana.OpenApiClientUtil" Version="4.0.154" />
<PackageReference Include="Soenneker.Asana.OpenApiClientUtil" />
paket add Soenneker.Asana.OpenApiClientUtil --version 4.0.154
#r "nuget: Soenneker.Asana.OpenApiClientUtil, 4.0.154"
#:package Soenneker.Asana.OpenApiClientUtil@4.0.154
#addin nuget:?package=Soenneker.Asana.OpenApiClientUtil&version=4.0.154
#tool nuget:?package=Soenneker.Asana.OpenApiClientUtil&version=4.0.154
Soenneker.Asana.OpenApiClientUtil
Creates and caches an authenticated AsanaOpenApiClient for dependency-injected applications.
Installation
dotnet add package Soenneker.Asana.OpenApiClientUtil
Configuration
{
"Asana": {
"ApiKey": "your-personal-access-token"
}
}
Asana:ApiKey is required. The default base URL is https://app.asana.com/api/1.0, and the default authentication format is Authorization: Bearer {token}. Asana:ClientBaseUrl, Asana:AuthHeaderName, and Asana:AuthHeaderValueTemplate can override those values.
Registration
using Soenneker.Asana.OpenApiClientUtil.Registrars;
services.AddAsanaOpenApiClientUtilAsScoped();
The scoped utility uses a singleton HTTP-client provider, so ending a scope does not remove the shared cached HttpClient. Use AddAsanaOpenApiClientUtilAsSingleton() when the generated client should also be shared application-wide.
Usage
using Soenneker.Asana.OpenApiClient;
using Soenneker.Asana.OpenApiClient.Models;
using Soenneker.Asana.OpenApiClientUtil.Abstract;
public sealed class CurrentAsanaUserService
{
private readonly IAsanaOpenApiClientUtil _clientUtil;
public CurrentAsanaUserService(IAsanaOpenApiClientUtil clientUtil)
{
_clientUtil = clientUtil;
}
public async Task<UserResponseData?> Get(CancellationToken cancellationToken = default)
{
AsanaOpenApiClient client = await _clientUtil.Get(cancellationToken);
return await client.Users["me"].GetAsync(cancellationToken: cancellationToken);
}
}
Get() lazily creates one generated client per utility instance and returns it afterward. Authentication and base-address configuration are captured during initial creation. Credentials are added only to HTTPS requests and are pinned to the first request host. Let the dependency-injection container dispose resolved utilities.
| 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
- Soenneker.Asana.HttpClients (>= 4.0.96)
- Soenneker.Asana.OpenApiClient (>= 4.0.64)
- Soenneker.Kiota.GenericAuthenticationProvider (>= 4.0.40)
- Soenneker.Utils.AsyncSingleton (>= 4.0.826)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.161 | 0 | 9/3/2026 |
| 4.0.160 | 40 | 9/1/2026 |
| 4.0.159 | 35 | 9/1/2026 |
| 4.0.158 | 40 | 9/1/2026 |
| 4.0.157 | 47 | 8/31/2026 |
| 4.0.156 | 42 | 8/31/2026 |
| 4.0.155 | 46 | 8/31/2026 |
| 4.0.154 | 48 | 8/31/2026 |
| 4.0.153 | 47 | 8/31/2026 |
| 4.0.152 | 55 | 8/30/2026 |
| 4.0.151 | 44 | 8/30/2026 |
| 4.0.150 | 49 | 8/30/2026 |
| 4.0.149 | 55 | 8/30/2026 |
| 4.0.148 | 49 | 8/30/2026 |
| 4.0.147 | 53 | 8/29/2026 |
| 4.0.146 | 59 | 8/29/2026 |
| 4.0.145 | 93 | 8/26/2026 |
| 4.0.144 | 87 | 8/26/2026 |
| 4.0.143 | 84 | 8/26/2026 |
| 4.0.142 | 92 | 8/22/2026 |