基于给定的XML模式,我想创建一个XML文档并在MVC 5应用程序中将其作为下载提供。我在应用程序中使用EF和Linq到Entity。我不确定使用哪种方法来创建XML文件。任何想法,将最适合我的需要?:ASP.NET MVC基于XML模式导出XML
- XMLWriter的
- 的XMLDocument
- 的LINQ to XML
- 类型化的DataSet
导出XML的文件(基于旧的文件)将有大约500KB,并且我有大约2500个用户。并非所有的用户都会同时下载他们的XML文件,但我也不知道有多少人会同时下载这个文件。我应该在内存中创建文件(通过使用MemoryStream还是类型化的DataSet),还是应该先在磁盘上写入文件(FileStream和XMLWriter/XMLDocument),然后提供下载文件?
更新
- 预置
阿尔贝托嗨!所以你建议我创建一个POCO类,填入所需的数据,然后将这个类序列化为XML。这种方法与类型化的数据集不相似吗?正如我所提到的,我已经有了XSD-File,所以我可以轻松创建一个类型化的DataSet,然后使用WriteXML()方法来创建文件。使用XmlSerializer时会有什么优势? 应用程序将自我托管(内部部署),所以我可以使用OutputCache属性,但由于必须为每个用户生成不同的xml文件,因此我不确定缓存是否真的可以帮助我解决这种情况。 –
我通过一些改进改变了我的问题。我更喜欢XmlSerializer,因为它比数据集更容易工作,代码行更少,速度也更快,而且更灵活,但如果您对数据集感觉更舒适,请继续使用它。关于为每个用户输出缓存,我在问题3中添加了可用于使请求不同的方法。 –