1

アプリに SkyDrive バックアップを実装しようとしています。ストリーム (SkyDrive からダウンロードしたバックアップを使用) を Isolated Storage に簡単に保存する方法がわからないことを除いて、すべて正常に動作しています。

ストリームをデシリアライズして保存できることはわかっていますが、それは不必要に複雑になります。

だから、ここに私の問題があります:

SkyDrive からのファイルを含むストリームがあり、それをファイル 'Settings.XML' として IsolatedStorage に保存する必要があります。

基本的に、分離ストレージの Settings.xml ファイルに「ストリーム」を書き込む必要があります。

        static void client_DownloadCompleted(object sender, LiveDownloadCompletedEventArgs e, string saveToPath)
    {
        Stream stream = e.Result; //Need to write this into IS

        try
        {
            using (IsolatedStorageFile myIsolatedStorage = IsolatedStorageFile.GetUserStoreForApplication())
            {
                using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(saveToPath, FileMode.Create))
                {
                    //How to save it?

                }
            }
        }...

ありがとう!

4

2 に答える 2

2

Steam の CopyTo() メソッドを使用します - http://msdn.microsoft.com/en-us/library/dd782932.aspx

using (IsolatedStorageFileStream fileStream = myIsolatedStorage.OpenFile(saveToPath, FileMode.Create))    
{    
  stream.CopyTo(fileStream);
} 
于 2012-05-19T15:01:13.510 に答える
2

最も迅速で簡単な方法は、あるストリームから次のストリームにブロックごとにバイトをコピーすることです。あるストリームの内容を別のストリームにコピーするにはどうすればよいですか? で受け入れられている回答を参照してください。


ただし、ネットワーク ストリームが破損している、または無効なデータが含まれている可能性がある場合は、保存する前にストリームを逆シリアル化し、検証する価値があります。

于 2012-05-19T15:15:46.823 に答える