# IAsyncEnumerableGrainExtension Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/)

## DisposeAsync(Guid) {#disposeasync-system-guid-c77d59ce}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/methods/disposeasync-system-guid-c77d59ce/)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
public abstract ValueTask DisposeAsync(Guid requestId)
```

Disposes an `System.Collections.Generic.IAsyncEnumerable-1` value.

### Parameters

- `requestId` (`Guid`): The request id, generated by the caller.

### Returns

A task representing the operation.

## MoveNext(Guid, CancellationToken) {#movenext-1-system-guid-system-threading-cancellationtoken-2c13fc98}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/methods/movenext-1-system-guid-system-threading-cancellationtoken-2c13fc98/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Runtime/AsyncEnumerableRequest.cs#L112)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
public abstract ValueTask<(EnumerationResult Status, object Value)> IAsyncEnumerableGrainExtension.MoveNext<T>(Guid requestId, CancellationToken cancellationToken)
```

Continues enumerating an `System.Collections.Generic.IAsyncEnumerable-1` value.

### Parameters

- `requestId` (`Guid`): The request id, generated by the caller.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The result of enumeration

## MoveNext(Guid) {#movenext-1-system-guid-c5c1c5b1}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/methods/movenext-1-system-guid-c5c1c5b1/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Runtime/AsyncEnumerableRequest.cs#L112)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
public virtual ValueTask<(EnumerationResult Status, object Value)> IAsyncEnumerableGrainExtension.MoveNext<T>(Guid requestId)
```

Continues enumerating an `System.Collections.Generic.IAsyncEnumerable-1` value.

### Parameters

- `requestId` (`Guid`): The request id, generated by the caller.

### Returns

The result of enumeration

## StartEnumeration(Guid, IAsyncEnumerableRequest&lt;T&gt;, CancellationToken) {#startenumeration-1-system-guid-orleans-runtime-iasyncenumerablerequest-t-system-e3984f2c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/methods/startenumeration-1-system-guid-orleans-runtime-iasyncenumerablerequest-t-system-e3984f2c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Runtime/AsyncEnumerableRequest.cs#L91)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
public abstract ValueTask<(EnumerationResult Status, object Value)> IAsyncEnumerableGrainExtension.StartEnumeration<T>(Guid requestId, IAsyncEnumerableRequest<T> request, CancellationToken cancellationToken)
```

Invokes an `System.Collections.Generic.IAsyncEnumerable-1` request and begins enumeration.

### Parameters

- `requestId` (`Guid`): The request id, generated by the caller.
- `request` (`IAsyncEnumerableRequest<T>`): The request.
- `cancellationToken` (`CancellationToken`): The cancellation token.

### Returns

The result of enumeration

## StartEnumeration(Guid, IAsyncEnumerableRequest&lt;T&gt;) {#startenumeration-1-system-guid-orleans-runtime-iasyncenumerablerequest-t-7e4a5f95}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.iasyncenumerablegrainextension/methods/startenumeration-1-system-guid-orleans-runtime-iasyncenumerablerequest-t-7e4a5f95/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Runtime/AsyncEnumerableRequest.cs#L91)

```csharp
[Orleans.Concurrency.AlwaysInterleave]
public virtual ValueTask<(EnumerationResult Status, object Value)> IAsyncEnumerableGrainExtension.StartEnumeration<T>(Guid requestId, IAsyncEnumerableRequest<T> request)
```

Invokes an `System.Collections.Generic.IAsyncEnumerable-1` request and begins enumeration.

### Parameters

- `requestId` (`Guid`): The request id, generated by the caller.
- `request` (`IAsyncEnumerableRequest<T>`): The request.

### Returns

The result of enumeration
