WCF 経由でサーバーにデータを送信する Windows モバイル アプリケーションがあります。
送信するデータが、Windows モバイル デバイスの制限を超える場合があります。一度に送信する必要があるすべてのデータをメモリに保持する必要がないようにストリーミングが役立つかどうか疑問に思っています。
簡単な例を次に示します。
[DataContract]
public class MainContract
{
[DataMember]
public Guid ID { get; set; }
[DataMember]
public List<SubContract> SubContract { get; set; }
}
[DataContract]
public class SubContract
{
[DataMember]
public Guid ID { get; set; }
[DataMember]
public string ImageCaption { get; set; }
[DataMember]
public Byte[] ImageAsBytes { get; set; }
}
オブジェクトが 1 つしかないとしMainContract
ます。しかし、その中にはたくさんのSubContract
オブジェクトがあります。(私の実際のシナリオはもっと複雑です)。
すべてをMainContract
メモリに保持することは、クライアント側で行うには多すぎます。
ストリーミングを使用すると、ネットワーク経由でデータを分割して送信できますか? それとも、クライアント側ですべてをバッファリングする必要があり、ストリーミングは大きなデータの受信に役立つだけですか?