gpt4 book ai didi

c# - 具有大结果的 Web 服务

转载 作者:行者123 更新时间:2023-11-30 18:04:03 25 4
gpt4 key购买 nike

我们正在构建 Web 服务,预计会返回大量数据。

ASP.Net 和 IIS 6 将如何处理这个问题?我们可以做些什么来减少资源密集度?

例如,我们目前有一个可序列化类,它的属性是另一个可序列化类类型的数组。调用 Web 服务时,它会从数据库中查询大量记录,实例化类,填充数组属性,然后返回被序列化的类。

这是如何在后台处理的?我想象整个DataSet对象存储在内存中,然后整个可序列化对象存储在member中,然后序列化和整个xml在内存中,最后流式传输给调用者。

我可以做些什么来减少内存消耗,例如在从数据库中读取结果时流式传输结果?这可能吗?

最佳答案

我不确定简单地切换到使用 WCF 是答案,因为问题实际上是关于请求数据的负载。

在选择您喜欢的服务方式之前,有几件事需要考虑:

你能缓存数据吗?如果可以将数据存储在内存中,那么这将防止每次请求数据时都进行绘制。但是,如果数据的大小过高,您可以考虑将数据从数据库写入文件并从那里提供服务。

您可以考虑使用具有 VM 模式的 Redis 之类的东西。这将允许您缓存数据,但如果不经常访问数据,则可以将数据写入文件以防止过度使用内存。

有什么办法,可以把对数据库的调用分解成几个更高效的调用?

如果执行调用花费的时间很长,您可以考虑异步调用数据。

最后,数据是否必须作为网络服务提供?数据可以作为 XML 文档提供吗?

关于c# - 具有大结果的 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com