c# - 直接从 HttpServer 返回响应

标签 c# http system.web

前几天我可以解决这个问题,这让我感到困惑,我希望能对这个问题有所了解,为什么会发生这种行为。

这是我正在使用的示例:

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 方法返回响应消息?

最佳答案

你想从结果中返回,因为你已经有了响应

return Task.FromResult(new HttpResponseMessage(HttpStatusCode.BadRequest))

关于c# - 直接从 HttpServer 返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55851504/

相关文章:

c# - Visual Studio 2008 无法识别 Lambda 表达式语法

c# - 如何在 Unity 中按下一个键时增加计数器?

c# - 使用给定文件夹中的源创建图像数组 C# Windows 桌面

HTTP POST 而不是 CRUD REST 范式

Python `hyper` 库在我的环境中不起作用

c# - HttpUtility.ParseQueryString 的可移植类库 (PCL) 版本

c# - 在 powerpoint c# 中写入文本

http - Scrapy 使用随机代理池以避免被禁止

c# - 使用 Katana OpenID Connect 中间件解决 OnSendingHeaders 死锁

asp.net - ASP.NET SessionState 中 "InProc"和 "stateServer"模式之间的差异