C# 使用Web服务-返回异步json

C# 使用Web服务-返回异步json,c#,json,asynchronous,async-await,ashx,C#,Json,Asynchronous,Async Await,Ashx,我现在有一个搜索引擎,它调用一堆Web服务和API,然后返回并将所有内容放入数据库 我想做的是创建一个异步json服务,它搜索所有Web服务和API并返回部分结果 其思想是,前端代码保持每秒ping一次服务,直到报头中返回“completed:true” 伪代码示例: Pull 1: completed: false; results, count: 2; Pull 2: completed: false; results, count: 9; Pull 3: completed: true

我现在有一个搜索引擎,它调用一堆Web服务和API,然后返回并将所有内容放入数据库

我想做的是创建一个异步json服务,它搜索所有Web服务和API并返回部分结果

其思想是,前端代码保持每秒ping一次服务,直到报头中返回“completed:true”

伪代码示例:

Pull 1:
completed: false;
results, count: 2;

Pull 2:
completed: false;
results, count: 9;

Pull 3:
completed: true;
results, count: 15;
我如何以最好的方式创建它? 我将所有集成都作为类库项目

我的想法是用IHTTPassynchandler创建一个ashx处理程序,但我似乎找不到任何能满足我需要的东西

希望有人能给我指出正确的方向。 我使用VS2013和.NET 4.5.1,所以如果需要,我可以使用所有的异步等待功能

编辑:
服务器将根据搜索ID处理多个请求,因此-如果搜索ID为721,它将从721搜索中获取结果,812将从812中获取结果,依此类推。

您可以在前端使用
Async/wait
模式在后台持续ping服务。我的前端是用ColdFusion制作的,所以。。我在创建服务方面没有问题,但我无法让它发布部分异步结果。也许你可以看看,它听起来正是你所需要的。嗯,我不知道SignalR是否可以工作,我已经简单地看了一下。我只需要一小段示例,以便了解如何获得异步的部分结果。ASP.NET Web API可以使用OData语法支持对JSON数据进行分页-