dotnet / dotnet/core

Inconsitent Behavior of service configuration on Windows and on Linux

Open
#7,292 13 comments 0 reactions 0 assignees View on GitHub
Dominant language
PowerShell
Stars
22k
Forks
4.9k
Avg merge
5d 5h
Merged PRs (30d)
29

Description

### Description
During Orleans Silo configuration in UseOrleans, section of "Orleans" settings is not visible on Linux, but visible on Windows:

```cs
[...
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseOrleans((context, siloBuilder) => {
// HERE CONFIG IS BEEN USING
BuildSiloHost(context, siloBuilder);
})
.ConfigureWebHostDefaults(webBuilder => {
webBuilder
//HERE CONFIG
.ConfigureAppConfiguration((hostContext, config) => {
var file = GetAppsettingsFile();
config.AddJsonFile(file, optional: true, reloadOnChange: true);
config.AddEnvironmentVariables();
})
});
...]
```

Order of UseOrleans and ConfigureWebHostDefaults changes nothing
Solution which I used is read additionaly appsettings and explicitly provide inside to BuildSiloHost config method, like this:

```cs
[...
private static ISiloBuilder BuildSiloHost(
Microsoft.Extensions.Hosting.HostBuilderContext context,
ISiloBuilder siloHostBuilder) {
//HACK: EXPLICIT PASS ORLEANS CONFIG
//DEBUG
var orleansConfiguration = _orleansSection.Get();
Console.WriteLine($"BuildSiloHost: ClusterId: {orleansConfiguration.ClusterId}");
Console.WriteLine($"BuildSiloHost: ServiceId: {orleansConfiguration.ServiceId}");
siloHostBuilder
.ConfigureServices(services => {
services.Configure(_orleansSection);
...]
```

### Configuration
Net 5.0.15 on Windows
mcr.microsoft.com/dotnet/aspnet:5.0 on Linux

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.