Skip to content

Core Orleans configuration options

Orleans options use the .NET options pattern. Configure them with Configure or Configure. Orleans also automatically binds the specific sections listed in Declarative configuration; other option types require explicit binding.

This page is a curated starting point, not an exhaustive property catalog. Configuration and provider package APIs are the source of truth for the installed Orleans version.

Common core options for client and silo builders

Section titled “Common core options for client and silo builders”
Option typeUse it for
ClusterOptionsServiceId and ClusterId shared by silos and clients
Option typeUse it for
ClientMessagingOptionsExternal client messaging and connections
GatewayOptionsClient gateway refresh and preferred gateway behavior
Option typeUse it for
SiloMessagingOptionsSilo messaging, response timeouts, and connection behavior
EndpointOptionsAdvertised silo/gateway ports and listening endpoints
SiloOptionsSilo name
ClusterMembershipOptionsMembership probing, failure detection, and initial connectivity validation
GrainCollectionOptionsIdle activation collection and memory-pressure shedding
GrainDirectoryOptionsBuilt-in grain directory cache and partition behavior
LoadSheddingOptionsRequest rejection under host load
SchedulingOptionsGrain scheduling limits and diagnostics
GrainTypeOptionsGrain classes and interfaces supported by the process

Storage, clustering, reminders, streaming, serialization, dashboards, and third-party integrations define options in their own packages. Start with the provider’s builder method, such as UseRedisClustering, AddAzureBlobGrainStorage, or UseAdoNetReminderService, then follow the linked options type in IntelliSense or API reference.

Named providers are normally configured using their builder methods:

public static void ConfigureNamedProviders(ISiloBuilder siloBuilder)
{
siloBuilder
.AddRedisGrainStorage(
"hot-state",
options => options.ConfigurationOptions =
ConfigurationOptions.Parse("localhost:6379"))
.AddAdoNetGrainStorage("archive", options =>
{
options.Invariant = "Microsoft.Data.SqlClient";
options.ConnectionString =
"Server=localhost;Database=Orleans;Integrated Security=true";
})
.UseRedisReminderService(
options => options.ConfigurationOptions =
ConfigurationOptions.Parse("localhost:6379"));
}

Declarative named providers use Orleans:{capability}:{name} and a ProviderType; see Declarative configuration.

  1. Start from the hosting extension method for the feature.
  2. Follow its options delegate type in IntelliSense.
  3. Check the installed package’s API reference for defaults and validation.
  4. Inspect startup validation errors; Orleans validates required provider settings before the silo or client becomes ready.

Avoid copying all available properties into configuration. Leave defaults in place unless a deployment requirement or measurement justifies an override. This reduces version drift and makes intentional tuning visible.