Как уменьшить время ожидания http writeasync при ошибке? - PullRequest
0 голосов
/ 09 июля 2019

Как я могу сделать ошибку WriteAsync быстрее? Следующий код занимает 20 секунд после того, как сетевой разъем извлечен из подключенного устройства, чтобы зарегистрировать его как проблему!

  try {
    Util.Logger.Info("sending space");
    await ctx.Response.OutputStream.WriteAsync(Consts.SingleSpaceBytes, 0, 1);
    // await ctx.Response.OutputStream.FlushAsync();
    Util.Logger.Info("space sent");
    await Task.Delay(1000);
  }
  catch (Exception ex) {
    Util.Logger.Error(ex, $"Error sending space!");
    break;
  }

Выход:

2019-07-09 15:45:49.0156 sending space // disconnect cable here
2019-07-09 15:45:49.0156 space sent
...
2019-07-09 15:46:09.1709 sending space
2019-07-09 15:46:09.2219 Error sending space! // some sort of timeout here
System.Net.HttpListenerException (1229): An operation was attempted on a nonexistent network connection

В идеале, я хочу, чтобы он сразу вышел из строя, но улучшение менее чем на 20 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...