Skip to content

Commit 7173ee6

Browse files
Merge pull request #7288 from Particular/hostname-override-fix-8.2
Overriding the host name does not work consistently
2 parents ea640ac + f18c298 commit 7173ee6

File tree

3 files changed

+14
-4
lines changed

3 files changed

+14
-4
lines changed

src/NServiceBus.Core.Tests/Hosting/HostInfoSettingsTests.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,11 @@ public void It_overrides_the_machine_name()
3737

3838
busConfig.UniquelyIdentifyRunningInstance().UsingHostName("overridenhostname");
3939

40-
var hostName = RuntimeEnvironment.MachineName;
41-
Assert.AreEqual("overridenhostname", hostName);
40+
var runtimeMachineName = RuntimeEnvironment.MachineName;
41+
Assert.AreEqual("overridenhostname", runtimeMachineName);
42+
43+
var settingsMachineName = busConfig.Settings.Get<HostingComponent.Settings>().Properties["Machine"];
44+
Assert.AreEqual("overridenhostname", settingsMachineName);
4245
}
4346
}
4447
}

src/NServiceBus.Core/Hosting/HostInfoSettings.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ namespace NServiceBus
22
{
33
using System;
44
using Hosting;
5-
using NServiceBus.Support;
65

76
/// <summary>
87
/// Configuration class for <see cref="HostInformation" /> settings.
@@ -74,7 +73,7 @@ public HostInfoSettings UsingCustomDisplayName(string displayName)
7473
public HostInfoSettings UsingHostName(string hostName)
7574
{
7675
Guard.ThrowIfNullOrEmpty(hostName);
77-
RuntimeEnvironment.SetMachineName(hostName);
76+
config.Settings.Get<HostingComponent.Settings>().UpdateHost(hostName);
7877
return this;
7978
}
8079

src/NServiceBus.Core/Hosting/HostingComponent.Settings.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,14 @@ internal void ApplyHostIdDefaultIfNeeded()
103103
settings.Set(HostIdSettingsKey, DeterministicGuid.Create(fullPathToStartingExe, RuntimeEnvironment.MachineName));
104104
}
105105

106+
internal void UpdateHost(string hostName)
107+
{
108+
RuntimeEnvironment.SetMachineName(hostName);
109+
settings.Set(HostIdSettingsKey, DeterministicGuid.Create(fullPathToStartingExe, hostName));
110+
Properties["Machine"] = hostName;
111+
settings.SetDefault(DisplayNameSettingsKey, hostName);
112+
}
113+
106114
readonly SettingsHolder settings;
107115
readonly string fullPathToStartingExe;
108116

0 commit comments

Comments
 (0)