如何使用WCF流处理XElement/XDocument

本文关键字:XElement XDocument 处理 何使用 WCF | 更新日期: 2023-09-27 18:10:04

我有以下方法签名。我不能改变它(也就是说,我不能改变返回类型)。

public Stream GetMusicInfo(string songId)
{
    XElement data = dao.GetMusicInfo(songId);
    // how do I stream the XElement?
}

我如何用WCF流XElement/XDocument ?

如何使用WCF流处理XElement/XDocument

这相当简单,如果您不介意实际上获取第一行中的所有数据:

public Stream GetMusicInfo(string songId)
{
    XElement data = dao.GetMusicInfo(songId);
    MemoryStream ms = new MemoryStream();
    data.Save(ms);
    ms.Position = 0;
    return ms;
}

换句话说,只是在内存中写出来,然后在内存中表示返回一个流。注意Position = 0;调用,这是必要的,否则流将定位在数据的

我将希望 WCF会对流做正确的事情。