Отправка изображения в виде потока восстановления или указание на изображение в общей папке с ответом JSON - PullRequest
0 голосов
/ 17 января 2012

Интересно о плюсах и минусах, использующих эти разные методы.

Отправка изображения в виде потока восстановления приведет к одному запросу к серверу, но потребует больше вычислительной мощности для Сервиса.

По сравнению с сохранением изображения в общей папке и отправкой URL-адреса клиенту и разрешением клиенту запрашивать изображение непосредственно в общей папке.

Какую стратегию вы бы порекомендовали, эта служба будетогромное количество запросов.

Ответы [ 2 ]

1 голос
/ 17 января 2012

Я думаю, что лучший способ - отправить изображение напрямую, потому что:

  • есть только один запрос
  • это не манипулировать жестким диском
  • меньше используется образ в оперативной памяти

С другой стороны, я вижу много минусов:

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

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

0 голосов
/ 19 января 2012

В основном это зависит от необходимости обработки вашего изображения.

Если ваше изображение специально обрабатывает каждый запрос, вам нужно будет каждый раз создавать новое изображение на лету.В этом случае нет причин сохранять файл и делиться им по ссылке.

Если ваше изображение будет использоваться другими запросами, вы можете рассмотреть оба варианта.Затраты на потоковую передачу - не полная сложность, но они существуют:

  • накладные расходы на обработку
  • запрос, обработанный управляемым кодом
  • все httpmodules / handlers, вызываемые каждым запросом
  • , даже если iis (динамическое кэширование) кэшируется, потоковая передача обходится дороже, чем отправка файла.
  • у вас возникнут трудности при совместном использовании этого файла несколькими серверами -> только локальный кеш (иесли вам приходится платить за доступ к распределенному кешу, это уже не актуально), плюс, файл должен быть доступен через cdn

И еще, из соображений производительности, вы должны захотеть освободить его для других запросовВаш запрос http от обработки как можно скорее, затем получение статического файла изображения является еще одной работающей сетевой задачей в браузере.

Чтобы возобновить, рассмотрите использование и время жизни ваших данных изображения.

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