Catch exceptions in auto discovery (#11252)

This commit is contained in:
Cody Robibero 2024-03-30 17:28:03 -06:00 committed by GitHub
parent 000395e036
commit ed82d79647
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -77,6 +77,8 @@ public sealed class AutoDiscoveryHost : BackgroundService
}
private async Task ListenForAutoDiscoveryMessage(IPAddress address, CancellationToken cancellationToken)
{
try
{
using var udpClient = new UdpClient(new IPEndPoint(address, PortNumber));
udpClient.MulticastLoopback = false;
@ -96,10 +98,16 @@ public sealed class AutoDiscoveryHost : BackgroundService
{
_logger.LogError(ex, "Failed to receive data from socket");
}
}
}
catch (OperationCanceledException)
{
_logger.LogDebug("Broadcast socket operation cancelled");
}
catch (Exception ex)
{
// Exception in this function will prevent the background service from restarting in-process.
_logger.LogError(ex, "Unable to bind to {Address}:{Port}", address, PortNumber);
}
}