# IDistributedApplicationEventingSubscriber Methods

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [IDistributedApplicationEventingSubscriber](/reference/api/csharp/aspire.hosting/idistributedapplicationeventingsubscriber.md)
- Kind: `Methods`
- Members: `1`

Defines an interface for services that want to subscribe to events from IDistributedApplicationEventing. This allows a service to subscribe to BeforeStartEvent before the application actually starts.

## SubscribeAsync(IDistributedApplicationEventing, DistributedApplicationExecutionContext, CancellationToken)

- Name: `SubscribeAsync(IDistributedApplicationEventing, DistributedApplicationExecutionContext, CancellationToken)`
- Modifiers: `abstract`
- Returns: `Task`

Callback during which the service should subscribe to global events from IDistributedApplicationEventing.

```csharp
public interface IDistributedApplicationEventingSubscriber
{
    public abstract Task SubscribeAsync(
        IDistributedApplicationEventing eventing,
        DistributedApplicationExecutionContext executionContext,
        CancellationToken cancellationToken)
    {
        // ...
    }
}
```

## Parameters

- `eventing` ([IDistributedApplicationEventing](/reference/api/csharp/aspire.hosting/idistributedapplicationeventing.md))
  The [IDistributedApplicationEventing](/reference/api/csharp/aspire.hosting/idistributedapplicationeventing.md) service to subscribe to events from.
- `executionContext` ([DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md))
  The [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md) instance for the run.
- `cancellationToken` (`CancellationToken`)
  Cancellation token from the service collection

## Returns

`Task` -- A task indicating event registration is complete
