我有一个ASP.NET Web API项目,它调用用delphi编写的服务。这种连接完美地工作,直到我从服务获得的数据流变得太大(delphi服务只是从数据库读取一些数据,因此没有文件在它们之间发送)。
现在,我当然增加了MaxBufferSize,但在某些时候它变得荒谬,现在我正在寻找更复杂的解决方案。所以我遇到了异步(我在delphi服务中的每个方法也可以作为异步,感谢Microsoft)。但即使我将我的函数称为异步,当数据流大于设置的缓冲区大小时,我仍然会收到错误(实际上我没有收到错误,执行只在await GetData
处停止。
那么,是否有可能处理我从服务中获取的数据?例如,我设置了数据流的最大大小,并且该函数一直在获取,直到我获得所有数据?
由于
答案 0 :(得分:1)
Async与缓冲区大小或流媒体无关。
那么,是否有可能处理我从服务中获取的数据?
是的,这就是你需要的。我所知道的所有Web服务API都支持流式传输。 WCF和HttpClient当然可以。搜索例如" httpclient流响应"应该让你去。
就我所知的信息而言,这里不需要异步IO。