IntelligentPlant.IndustrialAppStore.DependencyInjection
3.5.0-pre.426
dotnet add package IntelligentPlant.IndustrialAppStore.DependencyInjection --version 3.5.0-pre.426
NuGet\Install-Package IntelligentPlant.IndustrialAppStore.DependencyInjection -Version 3.5.0-pre.426
<PackageReference Include="IntelligentPlant.IndustrialAppStore.DependencyInjection" Version="3.5.0-pre.426" />
<PackageVersion Include="IntelligentPlant.IndustrialAppStore.DependencyInjection" Version="3.5.0-pre.426" />
<PackageReference Include="IntelligentPlant.IndustrialAppStore.DependencyInjection" />
paket add IntelligentPlant.IndustrialAppStore.DependencyInjection --version 3.5.0-pre.426
#r "nuget: IntelligentPlant.IndustrialAppStore.DependencyInjection, 3.5.0-pre.426"
#:package IntelligentPlant.IndustrialAppStore.DependencyInjection@3.5.0-pre.426
#addin nuget:?package=IntelligentPlant.IndustrialAppStore.DependencyInjection&version=3.5.0-pre.426&prerelease
#tool nuget:?package=IntelligentPlant.IndustrialAppStore.DependencyInjection&version=3.5.0-pre.426&prerelease
IntelligentPlant.IndustrialAppStore.DependencyInjection
This package defines types and extension methods to assist with registering Industrial App Store services with Microsoft.Extensions.DependencyInjection.
Please consider using one of the following packages instead of using this package directly:
| Package | App Type | Description |
|---|---|---|
| IntelligentPlant.IndustrialAppStore.AspNetCore | ASP.NET Core | Provides a strongly-typed client for querying the Industrial App Store Data API, an authentication handler that is pre-configured to use the Industrial App Store for authentication, and additional services and middlewares for implementing features such as Content Security Policies. |
| IntelligentPlant.IndustrialAppStore.CommandLine | CLI | Provides a strongly-typed client for querying the Industrial App Store Data API, and services for authenticating with the Industrial App Store using the OAuth 2.0 device code authorization flow. |
| IntelligentPlant.IndustrialAppStore.Templates | Provides project templates for dotnet new and Visual Studio for creating apps that are pre-configured to use one of the two above packages. |
The packages can also be used to write on-premises apps that interface with a local Data Core API instance.
Getting Started
To register a scoped IndustrialAppStoreHttpClient service with an IServiceCollection, call the AddIndustrialAppStoreApiServices extension method:
var builder = services.AddIndustrialAppStoreApiServices();
This returns an IIndustrialAppStoreBuilder object that can be used to customise the registered services via additional extension method calls. For example, to customise the HttpClient used by the IndustrialAppStoreHttpClient service:
var builder = services.AddIndustrialAppStoreApiServices(configureHttpBuilder: http => http.ConfigurePrimaryHttpMessageHandler(() => new SocketsHttpHandler() {
EnableMultipleHttp2Connections = true
}));
Once you have built your container, you can inject the IndustrialAppStoreHttpClient service into your application components as required.
Remember that
IndustrialAppStoreHttpClientis registered as a scoped service.
Authentication
By default, the scoped AccessTokenProvider service is used to provide the Industrial App Store access token for the IndustrialAppStoreHttpClient service.
The default AccessTokenProvider service registration does not return an access token, meaning that calls to Industrial App Store APIs will fail. To configure an AccessTokenProvider service that returns an access token, you can do one of the following:
Replacing the default AccessTokenProvider registration
You can replace the default AccessTokenProvider registration with a custom implementation that returns an access token. For example:
var builder = services
.AddIndustrialAppStoreApiServices()
.AddAccessTokenProvider((IServiceProvider provider) => {
var accessTokenService = provider.GetRequiredService<MyTokenService>();
return (CancellationToken ct) => accessTokenService.GetAccessTokenAsync(ct);
});
Manually setting the access token factory
After creating a new IServiceScope, you can retrieve the AccessTokenProvider service from the service provider and set the AccessTokenProvider.Factory property to a factory method that returns an access token. For example:
using var scope = serviceProvider.CreateScope();
var accessTokenProvider = scope.ServiceProvider.GetRequiredService<AccessTokenProvider>();
accessTokenProvider.Factory = (CancellationToken ct) => new ValueTask<string?>("my-access-token");
var client = scope.ServiceProvider.GetRequiredService<IndustrialAppStoreHttpClient>();
var dataSources = await client.DataSources.GetDataSourcesAsync();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- IntelligentPlant.IndustrialAppStore.HttpClient (>= 3.5.0-pre.426)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Options.DataAnnotations (>= 8.0.0)
-
net8.0
- IntelligentPlant.IndustrialAppStore.HttpClient (>= 3.5.0-pre.426)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- Microsoft.Extensions.Http (>= 8.0.1)
- Microsoft.Extensions.Options.DataAnnotations (>= 8.0.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on IntelligentPlant.IndustrialAppStore.DependencyInjection:
| Package | Downloads |
|---|---|
|
IntelligentPlant.IndustrialAppStore.Authentication
ASP.NET Core authentication handler for Intelligent Plant's Industrial App Store. |
|
|
IntelligentPlant.IndustrialAppStore.CommandLine
Types and extensions for building Intelligent Plant Industrial App Store command-line applications. |
|
|
IntelligentPlant.IndustrialAppStore.SemanticKernel
Types and extensions for registering Industrial App Store API plugins with Microsoft.SemanticKernel. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.5.0-pre.426 | 22 | 10/22/2025 |
| 3.5.0-pre.420 | 134 | 7/28/2025 |
| 3.5.0-pre.417 | 137 | 7/2/2025 |
| 3.5.0-pre.414 | 160 | 5/20/2025 |
| 3.5.0-pre.409 | 89 | 5/9/2025 |
| 3.4.2 | 79 | 10/22/2025 |
| 3.4.1 | 309 | 4/8/2025 |
| 3.4.0 | 297 | 4/8/2025 |
| 3.3.0 | 199 | 2/28/2025 |
| 3.3.0-pre.382 | 86 | 2/26/2025 |
| 3.2.0 | 208 | 2/3/2025 |
| 3.1.0 | 233 | 12/12/2024 |
| 3.0.0 | 209 | 11/27/2024 |
| 3.0.0-pre.361 | 80 | 11/20/2024 |
| 3.0.0-pre.358 | 73 | 11/20/2024 |
| 3.0.0-pre.351 | 74 | 11/15/2024 |
| 3.0.0-pre.348 | 94 | 11/11/2024 |
| 3.0.0-pre.339 | 75 | 11/7/2024 |
| 3.0.0-pre.328 | 98 | 10/31/2024 |
| 3.0.0-pre.320 | 74 | 10/31/2024 |