Service Fabric Persistence

NuGet Package: NServiceBus.Persistence.ServiceFabric (3-pre)
This page targets a pre-release version. Pre-releases are subject to change and samples are not guaranteed to be fully functional.

A persister built on top of Service Fabric Reliable Collections.

Persistence at a glance

For a description of each feature, see the persistence at a glance legend.

Supported storage typesSagas, Outbox
Concurrency controlPessimistic concurrency via exclusive locks
Scripted deploymentNot supported


Add a NuGet package reference to NServiceBus.Persistence.ServiceFabric. Configure the persistence technology using the following configuration API.

var persistence = endpointConfiguration.UsePersistence<ServiceFabricPersistence>();

Transaction timeout

The transaction timeout is a setting that controls the timeout for saga and outbox operations executed by the persistence.

The default transaction timeout is set to four seconds.

var persistence = endpointConfiguration.UsePersistence<ServiceFabricPersistence>();
persistence.StateManager(reliableStateManager, transactionTimeout: TimeSpan.FromSeconds(10));


Storage types

Currently saga and outbox storage types are supported. For timeouts, subscriptions or gateway deduplication use either the native capability of the transport of choice or another persistence such as Azure Table Persistence or non-durable persistence.

Viewing the data

Currently, Service Fabric does not provide capabilities to view the data that is stored inside reliable collections. The data has to be programmatically accessed and exposed over customized infrastructure.

Data should be backed up and restored to avoid data loss. See Service Fabric backup and restore APIs for additional information.


Related Articles

Last modified