直接从 HttpServer 返回响应
Returning response directly from HttpServer
前几天我可以解决这个问题,这让我感到困惑,我希望能对这个问题有所了解,为什么会发生这种行为。
这是我正在使用的示例:
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);
}
}
我预计如果满足某些先决条件,我会收到错误的响应消息,但相反,它只会一直旋转直到我停止服务器然后客户端收到一条消息,"No data received from the server." 是什么原因造成的,是否可以 return 来自服务器 SendAsync
方法的响应消息?
你想要return结果,因为你已经有了响应
return Task.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest))
前几天我可以解决这个问题,这让我感到困惑,我希望能对这个问题有所了解,为什么会发生这种行为。
这是我正在使用的示例:
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);
}
}
我预计如果满足某些先决条件,我会收到错误的响应消息,但相反,它只会一直旋转直到我停止服务器然后客户端收到一条消息,"No data received from the server." 是什么原因造成的,是否可以 return 来自服务器 SendAsync
方法的响应消息?
你想要return结果,因为你已经有了响应
return Task.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest))