c# - 通过 HTTPS 增量处理大型 XML 文件?

标签 c# .net xml http azure

我必须从安全的 Web 服务器下载、处理和存储一个 8GB XML 文件。我可以使用 WebRequest 类下载该文件,但这将需要很长时间。另外,我知道该文件的结构适合离散 block 的处理。

如何“流”此文件,以便只获得可以处理的一小部分,而不必一次获取整个流?

编辑

我忘了提及 - 我们托管在 Azure 上。我想到的一个想法是提供一个辅助角色,它只下载大文件,并且可以根据需要下载所需的时间。这有多可行?

最佳答案

8 GB 是一个很大的工作量。为了避免返工并有效扩展,我会将 XML 文件下载与其处理分离。

在作为流下载时,我会将某种流标识符写入持久存储,并通过将消息及其相关数据放入队列来安排要完成的每个原子工作单元。 这将允许从因任何原因导致的下载失败或工作单元不成功和/或干扰下载中恢复。

关于c# - 通过 HTTPS 增量处理大型 XML 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10195680/

相关文章:

.net - 您在桌面应用程序中的 NHibernate session 管理策略是什么?

c# - 如何将 xml 文件作为资源添加到 Windows 窗体 exe

xml - XSLT 更改命名空间前缀以及属性转换

c# - 关于 google places API

c# - 在 ApplicationShouldTerminate 上刷新 UI

c# - 在泛型中采用任一类型的约束

c# - 在 C# 中,将字符串格式化为 XML 的最佳方法是什么?

c# - 申请解析问题

c# - 寻找可访问上一个和下一个元素的 .Net 排序集合

c# - 流式传输到图像并返回