0

我不想阅读整个内容,而是将其放入文件中然后流式传输。我想知道我可以使用 WCF 和 Streaming 以某种方式将数据读取器流式传输到客户端吗?

4

1 回答 1

0

您可以通过使用 MessageContracts 来实现这一点。

当我第一次尝试自己解决这个问题时,我偶然发现了这篇文章,它真的很有帮助: http: //www.codeproject.com/Articles/166763/WCF-Streaming-Upload-Download-Files-通过 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

于 2013-02-28T01:04:01.373 回答