# IValueProvider Methods

- Package: [Aspire.Hosting](/reference/api/csharp/aspire.hosting.md)
- Type: [IValueProvider](/reference/api/csharp/aspire.hosting/ivalueprovider.md)
- Kind: `Methods`
- Members: `2`

An interface that allows the value to be provided for an environment variable.

## GetValueAsync(CancellationToken)

- Name: `GetValueAsync(CancellationToken)`
- Modifiers: `abstract`
- Returns: `ValueTask<string?>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/ApplicationModel/IValueProvider.cs#L43)

Gets the value for use as an environment variable.

```csharp
public interface IValueProvider
{
    public abstract ValueTask<string?> GetValueAsync(
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `cancellationToken` (`CancellationToken`) `optional`
  A `Threading.CancellationToken`.

## GetValueAsync(ValueProviderContext, CancellationToken)

- Name: `GetValueAsync(ValueProviderContext, CancellationToken)`
- Modifiers: `virtual`
- Returns: `ValueTask<string?>`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/bd20f904cde09ecb9c9ae5116a6f13614bf2d7c2/src/Aspire.Hosting/ApplicationModel/IValueProvider.cs#L43)

Gets the value for use as an environment variable in the specified context.

```csharp
public interface IValueProvider
{
    public virtual ValueTask<string?> GetValueAsync(
        ValueProviderContext context,
        CancellationToken cancellationToken = default(CancellationToken))
    {
        // ...
    }
}
```

## Parameters

- `context` ([ValueProviderContext](/reference/api/csharp/aspire.hosting/valueprovidercontext.md))
- `cancellationToken` (`CancellationToken`) `optional`
