# ITransactionalResource Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/)

## Abort(Guid) {#abort-system-guid-4d34959e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/methods/abort-system-guid-4d34959e/)

```csharp
public abstract Task Abort(Guid transactionId)
```

One-way message sent by TA to participants to let them know a transaction has aborted.

### Parameters

- `transactionId` (`Guid`): The id of the aborted transaction

## Cancel(Guid, DateTime, TransactionalStatus) {#cancel-system-guid-system-datetime-orleans-transactions-transactionalstatus-8eac353a}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/methods/cancel-system-guid-system-datetime-orleans-transactions-transactionalstatus-8eac353a/)

```csharp
public abstract Task Cancel(Guid transactionId, DateTime timeStamp, TransactionalStatus status)
```

One-way message sent by TM to participants to let them know a transaction has aborted.

### Parameters

- `transactionId` (`Guid`): The id of the aborted transaction
- `timeStamp` (`DateTime`): The commit timestamp of the aborted transaction
- `status` (`TransactionalStatus`): Reason for abort

## CommitReadOnly(Guid, AccessCounter, DateTime) {#commitreadonly-system-guid-orleans-transactions-abstractions-accesscounter-syste-d08a1ac0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/methods/commitreadonly-system-guid-orleans-transactions-abstractions-accesscounter-syste-d08a1ac0/)

```csharp
public abstract Task<TransactionalStatus> CommitReadOnly(Guid transactionId, AccessCounter accessCount, DateTime timeStamp)
```

Request sent by TA to all participants of a read-only transaction (one-phase commit). Participants respond after committing or aborting the read.

### Parameters

- `transactionId` (`Guid`): the id of the transaction to prepare
- `accessCount` (`AccessCounter`): number of reads/writes performed on this participant by this transaction
- `timeStamp` (`DateTime`): the commit timestamp for this transaction

## Confirm(Guid, DateTime) {#confirm-system-guid-system-datetime-6bdbcc3b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/methods/confirm-system-guid-system-datetime-6bdbcc3b/)

```csharp
public abstract Task Confirm(Guid transactionId, DateTime timeStamp)
```

Request sent by TM to participants to let them know a transaction has committed. Participants respond after cleaning up all prepare records.

### Parameters

- `transactionId` (`Guid`): The id of the committed transaction
- `timeStamp` (`DateTime`): The commit timestamp of the committed transaction

## Prepare(Guid, AccessCounter, DateTime, ParticipantId) {#prepare-system-guid-orleans-transactions-abstractions-accesscounter-system-datet-a1f4a498}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionalresource/methods/prepare-system-guid-orleans-transactions-abstractions-accesscounter-system-datet-a1f4a498/)

```csharp
public abstract Task Prepare(Guid transactionId, AccessCounter accessCount, DateTime timeStamp, ParticipantId transactionManager)
```

One-way message sent by TA to all participants except TM.

### Parameters

- `transactionId` (`Guid`): the id of the transaction to prepare
- `accessCount` (`AccessCounter`): number of reads/writes performed on this participant by this transaction
- `timeStamp` (`DateTime`): the commit timestamp for this transaction
- `transactionManager` (`ParticipantId`): the transaction manager for this transaction
