asp.net генерирует динамическую проблему параллелизма изображений - PullRequest
0 голосов
/ 18 апреля 2011

Это будет интересно ...

Я видел много уроков / примеров кода для создания миниатюр asp.net, но никто не учел проблему параллельного доступа при динамическом создании миниатюрных изображений, когда один или несколько пользователей обращаются к одной и той же странице, когда необходимо создать миниатюру.

Простой случай, у меня есть сайт с изображениями свойств (дома и т. Д.), Изображения хранятся в папке, миниатюры создаются (для галереи), когда кто-то впервые обращается к конкретному предложению, а затем обработчик создает эскизы из Исходно большие изображения, обработчик генерирует каждый эскиз только один раз, а затем использует сгенерированное изображение в дальнейших запросах.

Что произойдет, если два пользователя одновременно получат доступ к этой странице, обработчик может дважды запускаться для одного и того же файла или более, могут возникнуть проблемы с параллелизмом, ошибки открытия файла и т. Д. (Файл должен быть открыт для создания эскиза) .

Обычно один пользователь получает миниатюру, а другие получают пустое поле без изображения, пока они не обновят страницу (так как первый пользователь запустил создание миниатюры)

Итак, вопрос в том, как избежать этой ситуации?

1 Ответ

2 голосов
/ 18 апреля 2011

Обычно, если вы открываете исходный файл изображения для чтения, чтобы создать миниатюру, нет проблем с одновременным доступом к ней.Несколько пользователей могут одновременно открыть один и тот же файл для чтения.Проблемы возникают, если вы начинаете писать одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...