RT.Comb.AspNetCore
4.0.1
dotnet add package RT.Comb.AspNetCore --version 4.0.1
NuGet\Install-Package RT.Comb.AspNetCore -Version 4.0.1
<PackageReference Include="RT.Comb.AspNetCore" Version="4.0.1" />
paket add RT.Comb.AspNetCore --version 4.0.1
#r "nuget: RT.Comb.AspNetCore, 4.0.1"
// Install RT.Comb.AspNetCore as a Cake Addin #addin nuget:?package=RT.Comb.AspNetCore&version=4.0.1 // Install RT.Comb.AspNetCore as a Cake Tool #tool nuget:?package=RT.Comb.AspNetCore&version=4.0.1
RT.Comb ASP.NET Core Integration
This package is a wrapper to make it easy to use RT.Comb in ASP.NET Core applications.
Usage
Install the package in the ASP.NET Core application:
dotnet add package RT.Comb.AspNetCore
Then simply choose one of the extensions and add it inside ConfigureServices
(Startup.cs
) like:
services.AddSqlCombGuidWithSqlDateTime();
Extensions available
The main package RT.Comb
offers two implementations of ICombProvider
: SqlCombProvider
and PostgreSqlCombProvider
. This package offers extensions to configure both providers, with either the SqlDateTimeStrategy
or UnixDateTimeStrategy
.
SqlCombProvider
services.AddSqlCombGuidWithSqlDateTime
:
Registers a SqlCombProvider
using the SqlDateTimeStrategy
and the default Timestamp and Guid strategies (DateTime.Utc
and Guid.NewGuid()
)
services.AddSqlCombGuidWithUnixDateTime
:
Registers a SqlCombProvider
using the UnixDateTimeStrategy
and the default Timestamp and Guid strategies (DateTime.Utc
and Guid.NewGuid()
)
PostgreSqlCombProvider
services.AddPostgreSqlCombGuidWithSqlDateTime
:
Registers a PostgreSqlCombProvider
using the SqlDateTimeStrategy
and the default Timestamp and Guid strategies (DateTime.Utc
and Guid.NewGuid()
)
services.AddPostgreSqlCombGuidWithUnixDateTime
:
Registers a PostgreSqlCombProvider
using the UnixDateTimeStrategy
and the default Timestamp and Guid strategies (DateTime.Utc
and Guid.NewGuid()
)
Override default providers
All extensions methods above register the ICombProvider
with the defaults Timestamp and Guid providers, but those can be customized by providing values to the optional parameters:
// Defined somewhere in your app..
public class CustomGuidProvider {
// some custom logic here..
public Guid GetGuid() => Guid.NewGuid();
}
public class CustomTimestampProvider {
// always create with +2 seconds.. (example custom logic)
public DateTime GetTimestamp() => DateTime.UtcNow.AddSeconds(2);
}
// In ConfigureServices:
// create the custom providers
var myGuidProvider = new CustomGuidProvider();
var myTimestampProvider = new CustomTimestampProvider();
// Add the ICombProvider with the custom providers
services.AddPostgreSqlCombGuidWithSqlDateTime(
myTimestampProvider.GetTimestamp, myGuidProvider.GetGuid);
The RT.Comb
library comes already with a handy timestamp provider: UtcNoRepeatTimestampProvider (Click to read more about it)
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 was computed. 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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- Microsoft.Extensions.DependencyInjection (>= 6.0.0)
- RT.Comb (>= 4.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.