# Silo Methods

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

## Dispose {#dispose-ad66dd3f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/dispose-ad66dd3f/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Silo/Silo.cs#L500-L507)

```csharp
public void Dispose()
```

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

## DisposeAsync {#disposeasync-95ecef55}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/disposeasync-95ecef55/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Silo/Silo.cs#L491-L494)

```csharp
public ValueTask DisposeAsync()
```

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

### Returns

A task that represents the asynchronous dispose operation.

## StartAsync(CancellationToken) {#startasync-system-threading-cancellationtoken-ed4980cf}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/startasync-system-threading-cancellationtoken-ed4980cf/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Silo/Silo.cs#L150-L157)

```csharp
public Task StartAsync(CancellationToken cancellationToken)
```

Starts the silo.

### Parameters

- `cancellationToken` (`CancellationToken`): A cancellation token which can be used to cancel the operation.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## Stop {#stop-0afab488}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/stop-0afab488/)

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

```csharp
public void Stop()
```

Gracefully stop the run time system only, but not the application. Applications requests would be abruptly terminated, while the internal system state gracefully stopped and saved as much as possible. Grains are not deactivated.

## StopAsync(CancellationToken) {#stopasync-system-threading-cancellationtoken-59a258eb}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/stopasync-system-threading-cancellationtoken-59a258eb/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Runtime/Silo/Silo.cs#L297-L364)

```csharp
public Task StopAsync(CancellationToken cancellationToken)
```

Gracefully stop the run time system only, but not the application. Applications requests would be abruptly terminated, while the internal system state gracefully stopped and saved as much as possible.

### Parameters

- `cancellationToken` (`CancellationToken`): A cancellation token which can be used to promptly terminate the silo.

### Returns

A `System.Threading.Tasks.Task` representing the operation.

## ToString {#tostring-deb0d24f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.silo/methods/tostring-deb0d24f/)

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

```csharp
public override string ToString()
```

Returns a string that represents the current object.

### Returns

A string that represents the current object.
