Shuttle.Core.Transactions
11.1.0
Prefix Reserved
dotnet add package Shuttle.Core.Transactions --version 11.1.0
NuGet\Install-Package Shuttle.Core.Transactions -Version 11.1.0
<PackageReference Include="Shuttle.Core.Transactions" Version="11.1.0" />
paket add Shuttle.Core.Transactions --version 11.1.0
#r "nuget: Shuttle.Core.Transactions, 11.1.0"
// Install Shuttle.Core.Transactions as a Cake Addin #addin nuget:?package=Shuttle.Core.Transactions&version=11.1.0 // Install Shuttle.Core.Transactions as a Cake Tool #tool nuget:?package=Shuttle.Core.Transactions&version=11.1.0
Shuttle.Core.Transactions
PM> Install-Package Shuttle.Core.Transactions
This package makes use of the .Net TransactionScope
class to provide ambient transaction handling.
Configuration
The relevant components may be configured using IServiceColletion
:
services.AddTransactionScope(builder =>
{
builder.Options.Enabled = true;
builder.Options.IsolationLevel = isolationLevel;
builder.Options.Timeout = TimeSpan.FromSeconds(30);
});
The default JSON settings structure is as follows::
{
"Shuttle": {
"TransactionScope": {
"Enabled": true,
"IsolationLevel": "isolation-level",
"Timeout": "00:00:30"
}
}
}
ITransactionScope
An implementation of the ITransactionScope
interface is used to wrap a TransactionScope
.
The DefaultTransactionScope
makes use of the standard .NET TransactionScope
functionality. There is also a NullTransactionScope
that implements the null pattern so it implements the interface but does not do anything.
Properties
Guid Id { get; }
Returns the Id of the transaction scope.
Methods
void Complete();
Marks the transaction scope as complete.
ITransactionScopeFactory
An implementation of the ITransactionScopeFactory
interface provides instances of an ITransactionScope
implementation.
The TransactionScopeFactory
provides a DefaultTransactionScope
instance if transaction scopes are Enabled
; else a NullTransactionScope
that implements the null pattern.
Create
ITransactionScope Create(IsolationLevel isolationLevel, TimeSpan timeout);
Creates the relevant instance using the given parameters.
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 | 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 is compatible. |
.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. |
-
- Microsoft.Extensions.Configuration (>= 7.0.0)
- Microsoft.Extensions.DependencyInjection (>= 7.0.0)
- Microsoft.Extensions.Options (>= 7.0.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 7.0.0)
- Shuttle.Core.Contract (>= 11.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Shuttle.Core.Transactions:
Package | Downloads |
---|---|
Shuttle.Core.PipelineTransaction
Provides a pipeline observer to handle transaction scopes. |
GitHub repositories
This package is not used by any popular GitHub repositories.