in src/Microsoft.Azure.SignalR.AspNet/Transports/AzureTransport.cs [115:163]
private async Task LifetimeExecute()
{
try
{
try
{
var connected = Connected;
if (connected != null)
{
Log.ExecutingConnected(_logger, ConnectionId);
await connected();
Log.ExecuteConnected(_logger, ConnectionId);
}
_connectedTcs.TrySetResult(null);
}
catch (Exception e)
{
Log.ErrorExecuteConnected(_logger, ConnectionId, e);
_connectedTcs.TrySetException(e);
throw;
}
await _disconnectTcs.Task;
var disconnected = Disconnected;
if (disconnected != null)
{
try
{
Log.ExecutingDisconnected(_logger, ConnectionId);
await disconnected(true);
Log.ExecuteDisconnected(_logger, ConnectionId);
}
catch (Exception e)
{
Log.ErrorExecuteDisconnected(_logger, ConnectionId, e);
throw;
}
}
_lifetimeTcs.TrySetResult(null);
}
catch (Exception e)
{
_lifetimeTcs.TrySetException(e);
}
}