# SystemTarget.Migrate(Dictionary&lt;string, object&gt;, CancellationToken)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.systemtarget/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.runtime/orleans.runtime.systemtarget/methods/)

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

```csharp
public void Migrate(Dictionary<string, object>? requestContext, CancellationToken cancellationToken)
```

Starts an attempt to migrating this instance to another location. Migration captures the current [RequestContext](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.requestcontext/), making it available to the activation's placement director so that it can consider it when selecting a new location. Migration will occur asynchronously, when no requests are executing, and will not occur if the activation's placement director does not select an alternative location.

### Parameters

- `requestContext` (`Dictionary<string, object>`): The request context, which is provided to the placement director so that it can be examined when selecting a new location.
- `cancellationToken` (`CancellationToken`): A cancellation token which, when canceled, indicates that the process should complete promptly.
