2017-06-10 199 views
0

我有圖像處理器的應用程序,用於處理圖像和從天藍色Blob存儲得到它。在這一刻,我的BLOB存儲服務正在返回絕對URL到BLOB的圖像返回重定向到這個URL。例如:dotent芯Blob存儲緩存

[Route("/blob-storage/{imageName}")] 
[HttpGet] 
public async Task<IActionResult> GetImage(string imageName, ImageSize size) 
{ 
    var imageUrl = await this.ImageProcessorFacade.GetImageUrl(imageName, size); 

    return Redirect(imageUrl); 
} 

現在我想要緩存這個返回的圖像。是的,存在ResponseCache屬性,但它不是我與重定向工作,我認爲這是解決這個問題的不好方法。對於得到的圖像,我呼籲這個例子:http://localhost/blob-storage/test.jpeg?size... 和應對重定向到blob.windows.net/...

有沒有辦法,如何緩存呢? 謝謝你的時間!

+0

你想要被緩存的是什麼?圖像本身或「處理器」產生的URL? –

+0

處理器正在返回重定向到圖像,所以最終返回的圖像。 –

回答

0

我想這個緩存返回的圖像。是的,存在ResponseCache屬性,但它不會與重定向一起工作,而我認爲這是解決此問題的不好方法。對於得到的圖像,我呼籲例如這樣的:http://localhost/blob-storage/test.jpeg?size ...而且響應重定向到blob.windows.net/...等

您呼叫重定向()方法,在你的控制器動作重定向到一個指定的URL,HTTP 位置頭字段將作爲響應返回。然後,用3xx代碼響應邀請的用戶代理(例如Web瀏覽器)將向位置字段中指定的新URL發出第二個請求,這發生在Web瀏覽器端,您不能追加或修改緩存 - 相關的頭文件來響應。

enter image description here

如果你想降低時延,更快的交貨存儲在Azure的Blob存儲的圖像,你可以嘗試使用the CDN