# ITransactionClient.RunTransaction(TransactionOption, Func&lt;Task&gt;)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.itransactionclient/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.itransactionclient/methods/)

```csharp
public abstract Task RunTransaction(TransactionOption transactionOption, Func<Task> transactionDelegate)
```

Run transaction delegate

### Parameters

- `transactionOption` (`TransactionOption`)
- `transactionDelegate` (`Func<Task>`)

### Returns

`System.Threading.Tasks.Task`
