Я могу узнать об этом на днях, и это озадачило меня, и я надеялся пролить свет на эту тему о том, почему происходит такое поведение.
Вот пример того, с чем я работаю:
public class MyHttpServer : HttpServer
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
if (someCondition)
{
return new Task<HttpResponseMessage>(() => new HttpResponseMessage(HttpStatusCode.BadRequest));
}
return base.SendAsync(request, cancellationToken);
}
}
Я ожидал, что если будет выполнено какое-то предварительное условие, я получу сообщение с плохим ответом, но вместо этого оно будет вращаться вечно, пока я не остановлю сервер, а затем клиент не получит сообщение «Строка не получена от сервер «. Что является причиной этого, и возможно ли вернуть ответное сообщение от метода SendAsync
сервера?