2011-12-05 3 views
0

次のコードでファイルをダウンロードできません。サーバーは、ファイルをダウンロードするために先に検索されたCookieを必要とします。Windows.Networking.BackgroundTransfer.BackgroundDownloaderのCookieリクエストヘッダーが機能しない

Fiddler2で観察されたときに、設定されているCookieがサーバーに送信されている要求ヘッダーに欠落しています。

クッキーがbackgrounddownloaderに付いていない理由はありますか? User-Agentのような他のヘッダを設定するなど、ここでは表示されませんがうまくいきます。

Windows.Storage.ApplicationData.current.temporaryFolder.createFileAsync(fileName, Windows.Storage.CreationCollisionOption.replaceExisting).then(function (newFile) 
    { 
     var uri = Windows.Foundation.Uri(uriString); 
     var downloader = new Windows.Networking.BackgroundTransfer.BackgroundDownloader(); 
     downloader.setRequestHeader("Cookie", cookie); 

     // Start the download asynchronously. 
     var promise = downloader.startDownloadAsync(uri, newFile); 

     // Persist the download operation. 
     operation = promise.operation; 

     // Assign callbacks associated with the download. 
     promise.then(completeCallback, error); 
    }); 

答えて

1

私は同じ問題があり、msdnで尋ねます。これは1つの答えですが、それはまだ私のために動作していない、あなたはそれが古いのXMLHttpRequestクラスに対してですが、

//twice calling SetRequestHeader 
var downloader = new BackgroundDownloader(); 
downloader.SetRequestHeader("Cookie", "any non-empty string here"); 
downloader.SetRequestHeader("Cookie", "cookie1=something"); 

は、詳細な対応策についてはhttp://support.microsoft.com/kb/234486/enを参照してください、次のコードを試すことができます。