我有一个显示图像缩略图屏幕的应用程序,每个图像大约 80k,它们存储在数据库中。为了保持合理的响应时间,应用程序在第一次启动时显示一个占位符图像,然后从服务器下载图像。我希望一次在屏幕上显示大约 40 张图像,这就是我的批量大小。将这些图像提供给客户的最佳方式是什么?我有两个选择。
创建一个向客户端公开图像数据库表的 ADO.NET 数据服务。客户端可以一次异步地请求图像,并在图像从服务器返回时显示它们。我已经实现了这个解决方案,它似乎工作正常;速度不是很好,我觉得我可以通过一次请求 3 张图像来更好地利用 Http 管道。
在服务器上创建一个 HttpModule 来查找类似于 /Images/1.jpg 的请求,然后读取数据库并返回请求的数据。在客户端,我可以有许多 Image 对象,它们的源指向服务器上的虚拟 URL。我的理论是,只要给 Silverlight 多个 Url 来处理它,就可以比我在选项 1 中的代码更有效地传输图像。
这些方法中的任何一种会更有效,还是有另一种技术可以完成这项工作?谢谢!