# PrimaryBasedLogViewAdaptor&lt;TLogView, TLogEntry, TSubmissionEntry&gt;.ReadAsync

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.common.primarybasedlogviewadaptor-3/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.eventsourcing/orleans.eventsourcing.common.primarybasedlogviewadaptor-3/methods/)

```csharp
protected abstract Task PrimaryBasedLogViewAdaptor<TLogView, TLogEntry, ReadAsync()
```

Read the latest primary state. Must block/retry until successful. Should not throw exceptions, but record them in `Orleans.EventSourcing.Common.PrimaryBasedLogViewAdaptor-3.LastPrimaryIssue`
