# DistributedApplicationExecutionContext Constructors

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md)
- Kind: `Constructors`
- Members: `3`

Exposes the global contextual information for this invocation of the AppHost.

## DistributedApplicationExecutionContext(DistributedApplicationOperation)

- Name: `Constructor(DistributedApplicationOperation)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs#L19-L21)

Constructs a [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md) without a callback to retrieve the `IServiceProvider`.

```csharp
public class DistributedApplicationExecutionContext
{
    public DistributedApplicationExecutionContext(
        DistributedApplicationOperation operation)
    {
        // ...
    }
}
```

## Parameters

- `operation` ([DistributedApplicationOperation](/reference/api/csharp/aspire.hosting/distributedapplicationoperation.md))
  The operation being performed in this invocation of the AppHost.

## Remarks

This constructor is used for internal testing purposes.

## DistributedApplicationExecutionContext(DistributedApplicationOperation, string)

- Name: `Constructor(DistributedApplicationOperation, string)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs#L31-L35)

Constructs a [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md) without a callback to retrieve the `IServiceProvider`.

```csharp
public class DistributedApplicationExecutionContext
{
    public DistributedApplicationExecutionContext(
        DistributedApplicationOperation operation,
        string publisherName)
    {
        // ...
    }
}
```

## Parameters

- `operation` ([DistributedApplicationOperation](/reference/api/csharp/aspire.hosting/distributedapplicationoperation.md))
  The operation being performed in this invocation of the AppHost.
- `publisherName` (`string`)
  The name of the publisher being used for the publish operation. This corresponds to publishers added via the `PublisherDistributedApplicationBuilderExtensions.AddPublisher` extension method.

## Remarks

This constructor is used for internal testing purposes.

## DistributedApplicationExecutionContext(DistributedApplicationExecutionContextOptions)

- Name: `Constructor(DistributedApplicationExecutionContextOptions)`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/DistributedApplicationExecutionContext.cs#L48-L51)

Constructs a [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md) with a callback to retrieve the `IServiceProvider`.

```csharp
public class DistributedApplicationExecutionContext
{
    public DistributedApplicationExecutionContext(
        DistributedApplicationExecutionContextOptions options)
    {
        // ...
    }
}
```

## Parameters

- `options` ([DistributedApplicationExecutionContextOptions](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontextoptions.md))
  Options for [DistributedApplicationExecutionContext](/reference/api/csharp/aspire.hosting/distributedapplicationexecutioncontext.md).
