# ITransactionAgent.Resolve(TransactionInfo)

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

```csharp
public abstract Task<(TransactionalStatus Status, Exception exception)> ITransactionAgent.Resolve(TransactionInfo transactionInfo)
```

Attempt to Resolve a transaction. Will commit or abort transaction

### Parameters

- `transactionInfo` (`TransactionInfo`): transaction info

### Returns

null if the transaction committed successfully, or an exception otherwise. If the exception is OrleansTransactionInDoubtException, it means the outcome of the Commit cannot be determined; otherwise, the transaction is guaranteed to not have taken effect.
