# TransactionInfo Methods

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

## Fork {#fork-3fbd4961}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/fork-3fbd4961/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L79-L80)

```csharp
public TransactionInfo Fork()
```

## Join(TransactionInfo) {#join-orleans-transactions-transactioninfo-b1c5c4a3}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/join-orleans-transactions-transactioninfo-b1c5c4a3/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L85-L86)

```csharp
public void Join(TransactionInfo x)
```

### Parameters

- `x` (`TransactionInfo`)

## MustAbort(Serializer&lt;OrleansTransactionAbortedException&gt;) {#mustabort-orleans-serialization-serializer-orleans-transactions-orleanstransacti-4664a2f8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/mustabort-orleans-serialization-serializer-orleans-transactions-orleanstransacti-4664a2f8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L90-L100)

```csharp
public OrleansTransactionAbortedException MustAbort(Serializer<OrleansTransactionAbortedException> serializer)
```

### Parameters

- `serializer` (`Serializer<OrleansTransactionAbortedException>`)

## ReconcilePending {#reconcilepending-f083d2f8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/reconcilepending-f083d2f8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L122-L127)

```csharp
public void ReconcilePending()
```

Reconciles all pending calls that have join the transaction.

### Returns

true if there are no orphans, false otherwise

## RecordException(Exception, Serializer&lt;OrleansTransactionAbortedException&gt;) {#recordexception-system-exception-orleans-serialization-serializer-orleans-transa-305283ff}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/recordexception-system-exception-orleans-serialization-serializer-orleans-transa-305283ff/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L106-L113)

```csharp
public void RecordException(Exception e, Serializer<OrleansTransactionAbortedException> sm)
```

### Parameters

- `e` (`Exception`)
- `sm` (`Serializer<OrleansTransactionAbortedException>`)

## RecordRead(ParticipantId, DateTime) {#recordread-orleans-transactions-participantid-system-datetime-49a08ae5}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/recordread-orleans-transactions-participantid-system-datetime-49a08ae5/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L160-L170)

```csharp
public void RecordRead(ParticipantId id, DateTime minTime)
```

### Parameters

- `id` (`ParticipantId`)
- `minTime` (`DateTime`)

## RecordWrite(ParticipantId, DateTime) {#recordwrite-orleans-transactions-participantid-system-datetime-79843af8}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/recordwrite-orleans-transactions-participantid-system-datetime-79843af8/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L174-L184)

```csharp
public void RecordWrite(ParticipantId id, DateTime minTime)
```

### Parameters

- `id` (`ParticipantId`)
- `minTime` (`DateTime`)

## ToString {#tostring-1484a576}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.transactioninfo/methods/tostring-1484a576/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/DistributedTM/TransactionInfo.cs#L191-L197)

```csharp
public override string ToString()
```

For verbose tracing and debugging.
