Skip to content

Commit bc48385

Browse files
committed
Handling null client connection while sending server response.
1 parent 5489964 commit bc48385

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

Wino.Server/ServerContext.cs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,20 @@ private async Task SendMessageAsync(MessageType messageType, object message)
219219
{ MessageConstants.MessageDataTypeKey, message.GetType().Name }
220220
};
221221

222-
await connection.SendMessageAsync(set);
222+
try
223+
{
224+
await connection.SendMessageAsync(set);
225+
}
226+
catch (InvalidOperationException)
227+
{
228+
// Connection might've been disposed during the SendMessageAsync call.
229+
// This is a safe way to handle the exception.
230+
// We don't lock the connection since this request may take sometime to complete.
231+
}
232+
catch (Exception exception)
233+
{
234+
Log.Error(exception, "SendMessageAsync threw an exception");
235+
}
223236
}
224237

225238
private void OnConnectionClosed(AppServiceConnection sender, AppServiceClosedEventArgs args)

0 commit comments

Comments
 (0)