# SiloBuilderStartupExtensions Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.silobuilderstartupextensions/)

## AddStartupTask(ISiloBuilder, Func&lt;IServiceProvider, CancellationToken, Task&gt;, int) {#addstartuptask-this-orleans-hosting-isilobuilder-system-func-system-iserviceprov-d0ddb27c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.silobuilderstartupextensions/methods/addstartuptask-this-orleans-hosting-isilobuilder-system-func-system-iserviceprov-d0ddb27c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Hosting/SiloBuilderStartupExtensions.cs)

```csharp
public static ISiloBuilder AddStartupTask(this ISiloBuilder builder, Func<IServiceProvider, CancellationToken, Task> startupTask, int stage = 20000)
```

Adds a startup task to be executed when the silo has started.

### Parameters

- `builder` (`ISiloBuilder`): The builder.
- `startupTask` (`Func<IServiceProvider, CancellationToken, Task>`): The startup task.
- `stage` (`int`): The stage to execute the startup task, see values in [ServiceLifecycleStage](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.servicelifecyclestage/).

### Returns

The provided [ISiloBuilder](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.isilobuilder/).

## AddStartupTask(ISiloBuilder, IStartupTask, int) {#addstartuptask-this-orleans-hosting-isilobuilder-orleans-runtime-istartuptask-in-6680642f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.silobuilderstartupextensions/methods/addstartuptask-this-orleans-hosting-isilobuilder-orleans-runtime-istartuptask-in-6680642f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Hosting/SiloBuilderStartupExtensions.cs)

```csharp
public static ISiloBuilder AddStartupTask(this ISiloBuilder builder, IStartupTask startupTask, int stage = 20000)
```

Adds a startup task to be executed when the silo has started.

### Parameters

- `builder` (`ISiloBuilder`): The builder.
- `startupTask` (`IStartupTask`): The startup task.
- `stage` (`int`): The stage to execute the startup task, see values in [ServiceLifecycleStage](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.servicelifecyclestage/).

### Returns

The provided [ISiloBuilder](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.isilobuilder/).

## AddStartupTask(ISiloBuilder, int) {#addstartuptask-1-this-orleans-hosting-isilobuilder-int-d1a987c7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.silobuilderstartupextensions/methods/addstartuptask-1-this-orleans-hosting-isilobuilder-int-d1a987c7/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Hosting/SiloBuilderStartupExtensions.cs#L36)

```csharp
public static ISiloBuilder AddStartupTask<TStartup>(this ISiloBuilder builder, int stage = 20000)
```

Adds a startup task to be executed when the silo has started.

### Parameters

- `builder` (`ISiloBuilder`): The builder.
- `stage` (`int`): The stage to execute the startup task, see values in [ServiceLifecycleStage](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.servicelifecyclestage/).

### Returns

The provided [ISiloBuilder](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.hosting.isilobuilder/).
