我有一個應用程序顯示圖像縮略圖的屏幕,每個圖像大約80k,它們存儲在數據庫中。爲了保持合理的響應時間,應用程序會在第一次啓動時顯示一個佔位符圖像,然後從服務器下載圖像。我期望在屏幕上一次顯示大約40張圖像,這是我的批量大小。向客戶提供這些圖像的最佳方式是什麼?我有兩個選擇。將圖像傳輸到Silverlight客戶端的最有效方式
創建一個將Images數據庫表暴露給客戶端的ADO.NET數據服務。客戶端可以一次一個地異步請求圖像,並在它們從服務器返回時顯示它們。我已經實現了這個解決方案,它似乎工作正常;速度不是很好,我覺得我可以通過一次請求3張圖像來更好地利用Http管道。
在服務器上創建一個HttpModule,查找類似/Images/1.jpg的請求,然後讀取數據庫並返回請求的數據。在客戶端,我可以有許多Image對象的源指向服務器上的虛擬Url。我的理論是,通過只給Silverlight中的網址來對付它也許能夠更有效地傳輸圖像比我的代碼選項1
要麼這些方法更有效,還是有另一種技術爲了完成這項工作?謝謝!
是否緩存涉及aspx頁面編寫一些代碼?這是如何運作的? – 2009-04-24 14:56:01
我們做我們自己的緩存,但你可能會考慮某種緩存框架,如Velocity或MemCached – 2009-04-24 15:01:44