0

ファイルに入れてストリーミングするよりも、すべてを読みたくありません。WCF とストリーミングを使用して、何らかの方法でデータリーダーをクライアントにストリーミングできるのだろうか?

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を学んだとき、デフォルトのアプリケーション構成ファイルがどれほど冗長であるかが嫌だったので、いくつかのgoogle検索/調査の後、巨大なアプリケーション構成ファイルなしでWCFクライアントプロキシをセットアップする方法に関するコード例付きのブログ投稿を書きました:http:/ /justindonohoo.blogspot.com/2012/08/generic-wcf-client-library-code.html

于 2013-02-28T01:04:01.373 に答える