gpt4 book ai didi

c# - LINQ to XML 用作简单的数据抽象层?

转载 作者:太空宇宙 更新时间:2023-11-03 14:23:31 25 4
gpt4 key购买 nike

理解问题的背景

我目前正在使用 C# 4.0 设计一个简单、轻量级(特定于应用程序)的基于消息的 API。大多数消息将离开 .NET/Silverlight 堆栈,因此它们被序列化为 XML 流。一些消息也发送/接收到本地组件,因此没有序列化的理由。

目前,有一个为该 API 设计的简单数据抽象层,其中包含消息的内容。该数据抽象层应该仅用于该目的。

现在面临的挑战是,尤其是在应用程序初始化期间,有一些非常大的消息被其他系统接收,因此 xml 流相当重量级(数千个 xml 元素)。这意味着会生成该数据抽象层对象的数千个实例,处理消息,然后删除整个数据实例。

问题

我的问题是:linq-to-xml 在内存消耗/性能方面是否非常好,因此不需要单独的数据抽象层?我的理解是,如果内容被写入流,linq-to-xml 只会呈现内容。

感谢您提供反馈。

最佳答案

LINQ to XML 确实以惰性方式解析您的文档,但它确实将完整的对象图构建到内存中,并在内存中创建了大量对象。它有一个很棒的 AP​​I,但肯定不是轻量级的。请测量性能以查看 LINQ to XML 套件的性能是否满足您的应用程序性能要求。

关于c# - LINQ to XML 用作简单的数据抽象层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4711325/

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