Я создаю приложение MVC 3 (хотя в той же мере применимо к другим технологиям, например, ASP.NET Forms), и мне просто интересно, возможно ли (с точки зрения производительности) обслуживать изображения из кода, а не использовать прямой виртуальный путь (как обычно).
Идея состоит в том, чтобы улучшить общий метод обслуживания файлов, чтобы:
Я знаю КАК это сделать, но не знаю, должен ли я это сделать.
Надеюсь, все это имеет смысл!
Спасибо, Дэн.
ОБНОВЛЕНИЕ
ОК - давайте конкретизируем:
Каковы последствия для производительности при использовании этого типа метода для обслуживания всех изображений в MVC 3 с использованием потока памяти? Примечание: URL-адрес изображения будет GenericFetchImage / image1 (и просто для простоты - все мои изображения в формате jpeg).
public FileStreamResult GenericFetchImage(string RouteValueRefToImage)
{
// Create a new memory stream object
MemoryStream ms = new MemoryStream();
// Go get image from file location
ms = GetImageAndPutIntoMemoryStream(RouteValueRefToImage);
// return the output as a file
return new FileStreamResult(ms, "image/jpeg");
}
Я знаю, что этот метод работает, потому что я использую его для динамического создания изображения на основе значения сеанса для изображения captcha. Это довольно удобно, но я хотел бы использовать этот метод для поиска любых изображений.
Думаю, в приведенном выше примере мне интересно, нормально ли это делать или требуется дополнительная обработка для выполнения, и если да, то сколько? Например, если количество посетителей умножится на 1000, например, сервер будет перегружен обработкой доставки изображений ..
СПАСИБО!