我有以下方法签名.我无法改变它(即我不能改变返回类型).
public Stream GetMusicInfo(string songId)
{
XElement data = dao.GetMusicInfo(songId);
// how do I stream the XElement?
}
Run Code Online (Sandbox Code Playgroud)
如何使用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;
}
Run Code Online (Sandbox Code Playgroud)
换句话说,只需将其写入内存中,然后通过内存中的表示形式返回一个流.请注意该Position = 0;调用,否则该流将定位在数据的末尾.
我希望 WCF能够在流中做正确的事情.
| 归档时间: |
|
| 查看次数: |
1491 次 |
| 最近记录: |