【发布时间】:2011-08-07 11:45:47
【问题描述】:
这个会很有趣...
看过很多asp.net缩略图生成教程/示例代码,但是没有人考虑过动态生成缩略图时的并发访问问题,当一个或多个用户访问同一个页面时需要生成缩略图。
一个简单的例子,我有一个带有属性图像(房屋等)的站点,图像存储在一个文件夹中,当有人第一次访问特定报价时生成缩略图(用于画廊),然后处理程序从原始较大的图像,处理程序只生成每个缩略图一次,然后在进一步的请求中使用生成的图像。
如果两个用户同时访问此页面会发生什么情况,处理程序可能会在同一个文件上运行两次或更多次,可能会出现并发问题,文件打开错误等(需要打开文件以生成缩略图) .
通常一个用户会得到缩略图,而另一个用户会得到一个没有图像的空白框,直到他们刷新页面(因为第一个用户触发了缩略图创建)
那么问题来了,如何避免这种情况呢?
【问题讨论】:
标签: c# asp.net concurrency thumbnails