# ITransactionManagerExtension Methods

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

## Ping(string, Guid, DateTime, ParticipantId) {#ping-string-system-guid-system-datetime-orleans-transactions-participantid-87f8e884}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionmanagerextension/methods/ping-string-system-guid-system-datetime-orleans-transactions-participantid-87f8e884/)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
[Orleans.Transaction(0)]
[Orleans.Concurrency.OneWay]
public abstract Task Ping(string resourceId, Guid transactionId, DateTime timeStamp, ParticipantId resource)
```

### Parameters

- `resourceId` (`string`)
- `transactionId` (`Guid`)
- `timeStamp` (`DateTime`)
- `resource` (`ParticipantId`)

## PrepareAndCommit(string, Guid, AccessCounter, DateTime, List&lt;ParticipantId&gt;, int) {#prepareandcommit-string-system-guid-orleans-transactions-abstractions-accesscoun-6a52ee14}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionmanagerextension/methods/prepareandcommit-string-system-guid-orleans-transactions-abstractions-accesscoun-6a52ee14/)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
[Orleans.Transaction(0)]
public abstract Task<TransactionalStatus> PrepareAndCommit(string resourceId, Guid transactionId, AccessCounter accessCount, DateTime timeStamp, List<ParticipantId> writeResources, int totalParticipants)
```

### Parameters

- `resourceId` (`string`)
- `transactionId` (`Guid`)
- `accessCount` (`AccessCounter`)
- `timeStamp` (`DateTime`)
- `writeResources` (`List<ParticipantId>`)
- `totalParticipants` (`int`)

## Prepared(string, Guid, DateTime, ParticipantId, TransactionalStatus) {#prepared-string-system-guid-system-datetime-orleans-transactions-participantid-o-36390bc2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.abstractions.itransactionmanagerextension/methods/prepared-string-system-guid-system-datetime-orleans-transactions-participantid-o-36390bc2/)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
[Orleans.Transaction(0)]
[Orleans.Concurrency.OneWay]
public abstract Task Prepared(string resourceId, Guid transactionId, DateTime timestamp, ParticipantId resource, TransactionalStatus status)
```

### Parameters

- `resourceId` (`string`)
- `transactionId` (`Guid`)
- `timestamp` (`DateTime`)
- `resource` (`ParticipantId`)
- `status` (`TransactionalStatus`)
