Kontent.Ai.Delivery.Abstractions 18.1.0

dotnet add package Kontent.Ai.Delivery.Abstractions --version 18.1.0                
NuGet\Install-Package Kontent.Ai.Delivery.Abstractions -Version 18.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kontent.Ai.Delivery.Abstractions" Version="18.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Kontent.Ai.Delivery.Abstractions --version 18.1.0                
#r "nuget: Kontent.Ai.Delivery.Abstractions, 18.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Kontent.Ai.Delivery.Abstractions as a Cake Addin
#addin nuget:?package=Kontent.Ai.Delivery.Abstractions&version=18.1.0

// Install Kontent.Ai.Delivery.Abstractions as a Cake Tool
#tool nuget:?package=Kontent.Ai.Delivery.Abstractions&version=18.1.0                

Kontent.ai Delivery .NET SDK

Build & Test codecov Stack Overflow Discord

Paradigm Package Downloads Compatibility Documentation
Async NuGet NuGet net8.0 📖 Wiki
Reactive NuGet NuGet net8.0 📖 Wiki

Summary

The Kontent.ai Delivery .NET SDK is a client library that lets you easily retrieve content from Kontent.ai.

Getting started

Installation via Package Manager Console in Visual Studio:

PM> Install-Package Kontent.Ai.Delivery

Installation via .NET CLI:

> dotnet add <TARGET PROJECT> package Kontent.Ai.Delivery

Usage

To retrieve content from your Kontent.ai environments, you'll be using an implementation of the IDeliveryClient interface. This is the main interface of the SDK. Here's how you can instantiate and use the Delivery client either with DI/IoC or without DI/IoC.

Use dependency injection (ideal for ASP.NET Core web apps)

Startup.cs

public void ConfigureServices(IServiceCollection services)
{
	services.AddDeliveryClient(Configuration);
}

HomeController.cs

public class HomeController
{
	private IDeliveryClient _client;

	public HomeController(IDeliveryClient deliveryClient)
	{
		_client = deliveryClient;
	}
}

In this case, the SDK reads the configuration from the DeliveryOptions section of the Configuration object. There are many ways of providing the configuration to the DeliveryClient as well as many advanced registration scenarios which you can all find in the Wiki.

To see a complete working example, go to one of our sample apps:

To spin up a fully configured blank site quickly, use the:

Usage without IoC/DI containers (ideal for console apps, unit tests...)

You can also set up a DeliveryOptions manually using the DeliveryClientBuilder.

IDeliveryClient _client = DeliveryClientBuilder
    .WithOptions(builder => builder
        .WithEnvironmentId("<YOUR_ENVIRONMENT_ID>")
	.UseProductionApi()
	.Build())
    .Build();

Your first request

Use the .NET code generator to generate POCO models:

public class Article
{
        public string Title { get; set; }
        public string Summary { get; set; }
	public string Body { get; set; }
	public DateTime? PostDate { get; set; }
	public ContentItemSystemAttributes System { get; set; }
}

Call the IDeliveryClient to retrieve data from Kontent:

// Retrieving a single content item
var response = await _client.GetItemAsync<Article>("<article_codename>");
var title = response.Item.Title; // -> "On Roasts"
var lang = response.Item.System.Language; // -> "en-US"

See Working with Strongly Typed Models to learn how to generate models and adjust the logic to your needs.

Further information

For more developer resources, visit:

Get involved

Check out the Contributing page to see the best places to file issues, start discussions, and begin contributing.

Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on Kontent.Ai.Delivery.Abstractions:

Package Downloads
Kontent.Ai.Urls

Kontent.ai URL Generation Logic

Kontent.Ai.Delivery

Kontent.ai Delivery SDK

Kontent.Ai.Delivery.Caching

Kontent.ai Delivery Caching

Kontent.Ai.Delivery.Extensions.DependencyInjection

Kontent.ai Delivery Extensions Autofac Dependency Injection

Kontent.Ai.AspNetCore

Kontent.ai ASP.NET Core SDK

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
18.1.0 38,927 3/6/2024
18.0.0 946 2/27/2024
17.9.0 28,794 12/12/2023
17.8.0 4,408 10/31/2023
17.7.0 7,702 8/4/2023
17.7.0-beta.0 94 5/9/2023
17.6.0 10,097 4/21/2023
17.5.0 27,578 3/16/2023
17.4.0 970 3/9/2023
17.3.0 1,976 3/2/2023
17.2.0 6,474 2/2/2023
17.2.0-beta.1 117 1/19/2023
17.1.0 17,506 1/9/2023
17.0.1 84,694 11/10/2022
17.0.0 31,373 8/3/2022
17.0.0-beta.2 165 7/29/2022
17.0.0-beta.1 125 7/28/2022