# IGrainBase Methods

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

## OnActivateAsync(CancellationToken) {#onactivateasync-system-threading-cancellationtoken-b1f37f57}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainbase/methods/onactivateasync-system-threading-cancellationtoken-b1f37f57/)

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

```csharp
public virtual Task OnActivateAsync(CancellationToken token)
```

Method overridden by grain implementations to handle activation.

### Parameters

- `token` (`CancellationToken`): The cancellation token used to signify that activation should abort promptly.

### Returns

A `System.Threading.Tasks.Task` which represents the operation.

## OnDeactivateAsync(DeactivationReason, CancellationToken) {#ondeactivateasync-orleans-deactivationreason-system-threading-cancellationtoken-49d23c35}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainbase/methods/ondeactivateasync-orleans-deactivationreason-system-threading-cancellationtoken-49d23c35/)

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

```csharp
public virtual Task OnDeactivateAsync(DeactivationReason reason, CancellationToken token)
```

Method overridden by grain implementations to handle deactivation.

### Parameters

- `reason` (`DeactivationReason`): The reason for deactivation.
- `token` (`CancellationToken`): The cancellation token used to signify that deactivation should complete promptly.

### Returns

A `System.Threading.Tasks.Task` which represents the operation.
