# IDurableStateManager

Package: [Microsoft.Orleans.Journaling](/orleans/docs/api/csharp/microsoft.orleans.journaling/) 10.0.0-alpha.1

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Journaling) | [Source](https://github.com/dotnet/orleans/blob/8efd4352592e66dffd235c823bfb83ecb3945320/src/Orleans.Journaling/IDurableStateManager.cs#L13)

```csharp
public interface IDurableStateManager
```

Manages a grain's durable state, whose named components share a journal and write acknowledgement boundary.

## Remarks

Declare state components during grain construction or synchronous activation setup, before initialization. Operations run in the owning activation's execution context. Existing components can be retrieved after initialization, and state contents are available after recovery completes.

## Methods

- [GetOrAddState(string)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablestatemanager/methods/getoraddstate-1-string-437ca2b4/)
- [TryGetState(string, TState?)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablestatemanager/methods/trygetstate-1-string-out-tstate-nullable-c48c5219/)
- [WriteStateAsync(CancellationToken)](/orleans/docs/api/csharp/microsoft.orleans.journaling/orleans.journaling.idurablestatemanager/methods/writestateasync-system-threading-cancellationtoken-b38a576e/)
