Skip to content

Commit f9b16eb

Browse files
committed
Small change to avoid log duplication when handling assembly changes
1 parent 1def7c2 commit f9b16eb

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/WebJobs.Script/Description/DotNet/DotNetFunctionInvoker.cs

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public sealed class DotNetFunctionInvoker : FunctionInvokerBase
3636
private FunctionSignature _functionSignature;
3737
private IFunctionMetadataResolver _metadataResolver;
3838
private Func<Task> _reloadScript;
39-
private Action _shutdown;
39+
private Action _onReferencesChanged;
4040
private Action _restorePackages;
4141
private Action<MethodInfo, object[], object[], object> _resultProcessor;
4242
private string[] _watchedFileTypes;
@@ -70,8 +70,8 @@ internal DotNetFunctionInvoker(ScriptHost host,
7070
_reloadScript = ReloadScriptAsync;
7171
_reloadScript = _reloadScript.Debounce();
7272

73-
_shutdown = () => Host.Shutdown();
74-
_shutdown = _shutdown.Debounce();
73+
_onReferencesChanged = OnReferencesChanged;
74+
_onReferencesChanged = _onReferencesChanged.Debounce();
7575

7676
_restorePackages = RestorePackages;
7777
_restorePackages = _restorePackages.Debounce();
@@ -100,12 +100,8 @@ protected override void OnScriptFileChanged(FileSystemEventArgs e)
100100
string fileExtension = Path.GetExtension(e.Name);
101101
if (ScriptConstants.AssemblyFileTypes.Contains(fileExtension, StringComparer.OrdinalIgnoreCase))
102102
{
103-
string message = "Assembly changes detected. Restarting host...";
104-
TraceWriter.Info(message);
105-
Logger?.LogInformation(message);
106-
107103
// As a result of an assembly change, we initiate a full host shutdown
108-
_shutdown();
104+
_onReferencesChanged();
109105
}
110106
else if (_watchedFileTypes.Contains(fileExtension))
111107
{
@@ -117,6 +113,15 @@ protected override void OnScriptFileChanged(FileSystemEventArgs e)
117113
}
118114
}
119115

116+
private void OnReferencesChanged()
117+
{
118+
string message = "Assembly reference changes detected. Restarting host...";
119+
TraceWriter.Info(message);
120+
Logger?.LogInformation(message);
121+
122+
Host.Shutdown();
123+
}
124+
120125
public override void OnError(Exception ex)
121126
{
122127
string error = Utility.FlattenException(ex, s =>
@@ -209,12 +214,12 @@ internal async Task RestorePackagesAsync(bool reloadScriptOnSuccess = true)
209214
{
210215
if (!result.IsInitialInstall && result.ReferencesChanged)
211216
{
212-
TraceOnPrimaryHost("Package references have changed. Restarting host...", TraceLevel.Info);
217+
TraceOnPrimaryHost("Package references have changed.", TraceLevel.Info);
213218

214219
// If this is not the initial package install and references changed,
215220
// shutdown the host, which will cause it to have a clean start and load the new
216221
// assembly references
217-
_shutdown();
222+
_onReferencesChanged();
218223
}
219224
else
220225
{

0 commit comments

Comments
 (0)