我不想读完整个文件,然后把它放在一个文件里,然后流式传输。我想知道我是否可以使用WCF和Streaming on以某种方式将datareader流式传输到客户端?
发布于 2013-02-28 09:04:01
您可以使用MessageContracts来实现这一点。
当我第一次尝试弄清楚这一点时,我偶然看到了这篇文章,这篇文章真的很有帮助:http://www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-Over-HTTP
以下是设置合同的一个非常基本的示例:
[MessageContract]
public class MyFileInfo : IDisposable
{
[MessageHeader(MustUnderstand = true)]
public string FileName;
[MessageHeader(MustUnderstand = true)]
public long Length;
[MessageHeader]
public string FileHash;
[MessageHeader]
public string Status;
[MessageBodyMember]
public Stream FileData;
public void Dispose()
{
if (FileData != null)
{
FileData.Close();
FileData = null;
}
}
}
[MessageContract]
public class FileRequest
{
[MessageHeader]
public string fileName;
}当我第一次学习WCF时,我讨厌默认的应用程序配置文件太冗长,所以在谷歌搜索/研究之后,我写了一篇博客文章,介绍了如何在没有大型应用程序配置文件的情况下设置WCF客户端代理:http://justindonohoo.blogspot.com/2012/08/generic-wcf-client-library-code.html
https://stackoverflow.com/questions/15125446
复制相似问题