前几天我可以解决这一问题,这让我感到困惑,我希望能弄清楚这个问题的发生原因。
以下是我正在使用的示例:
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
方法返回响应消息吗?
答案 0 :(得分:1)
您要从结果中返回,因为您已经有了响应
return Task.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest))