# FaultInjectionGrainStorage

Package: [Microsoft.Orleans.TestingHost](/orleans/docs/api/csharp/microsoft.orleans.testinghost/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.TestingHost) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.TestingHost/TestStorageProviders/FaultInjectionStorageProvider.cs#L31)

```csharp
public class FaultInjectionGrainStorage : ILifecycleParticipant<ISiloLifecycle>, IGrainStorage
```

Fault injection decorator for storage providers. This allows users to inject storage exceptions to test error handling scenarios.

## Constructors

- [FaultInjectionGrainStorage(IGrainStorage, string, ILoggerFactory, IGrainFactory, FaultInjectionGrainStorageOptions)](/orleans/docs/api/csharp/microsoft.orleans.testinghost/orleans.testinghost.faultinjectiongrainstorage/constructors/constructor-orleans-storage-igrainstorage-string-microsoft-extensions-logging-il-37ff9f78/)

## Methods

- [ClearStateAsync(string, GrainId, IGrainState&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.testinghost/orleans.testinghost.faultinjectiongrainstorage/methods/clearstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-4ecd7b96/)
- [Participate(ISiloLifecycle)](/orleans/docs/api/csharp/microsoft.orleans.testinghost/orleans.testinghost.faultinjectiongrainstorage/methods/participate-orleans-runtime-isilolifecycle-51558834/)
- [ReadStateAsync(string, GrainId, IGrainState&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.testinghost/orleans.testinghost.faultinjectiongrainstorage/methods/readstateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-a8507469/)
- [WriteStateAsync(string, GrainId, IGrainState&lt;T&gt;)](/orleans/docs/api/csharp/microsoft.orleans.testinghost/orleans.testinghost.faultinjectiongrainstorage/methods/writestateasync-1-string-orleans-runtime-grainid-orleans-igrainstate-t-daa1dfb8/)
