0
我連接到windows phone 8.1上的blob azure存儲。如果請求日期〜系統時間,它工作正常。但是如果系統日期在手機上有區別...例如1天...然後有錯誤總是...Azure存儲連接錯誤(如果系統時間差異)
public static async Task<AzureDownloadResult> DownloadFileFromBlob(string FileName)
{
using (MemoryStream ms = new MemoryStream())
{
try
{
CloudBlobContainer container = GetBlobClient.GetContainerReference("data");
CloudBlockBlob blockBlob = container.GetBlockBlobReference(FileName);
if (!await blockBlob.ExistsAsync())
{
return new AzureDownloadResult(null, AzureDownloadException.NotExists);
}
long filesize = blockBlob.Properties.Length;
await blockBlob.DownloadToStreamAsync(ms.AsOutputStream());
if (ms.Length != filesize)
{
return new AzureDownloadResult(null, AzureDownloadException.Error);
}
}
catch (Exception e)
{
//<-error there (if i set random time in phone time settings):
//message: ...Make sure the value of Authorization header is formed correctly including the signature..
return new AzureDownloadResult(null, AzureDownloadException.NoneInternetConnectionOrDateTimeError);
}
return new AzureDownloadResult(ms.ToArray(), AzureDownloadException.OK);
}
}
這將是很好,如果我可以手動設置請求的日期,否則我必須給用戶一個消息,日期和時間設置不正確...我會嘗試使用其他身份驗證方法......謝謝鏈接! – zxc1 2014-11-02 22:14:59
所以你寧願讓你的解決方案不太安全?看起來很奇怪。對於高延遲連接的長時間運行請求,超時是生活中的事實。你的應用應該適當地處理這種情況。 – 2014-11-03 05:35:10