Руководство Structuremap объема/жизненного цикла?

ОБНОВЛЕНИЕ: существуют более оптимальные варианты, чем мой исходный ответ. Это работает за пределами MVC вполне хорошо, но лучше придерживаться встроенных методов возврата содержимого изображения. См. проголосовавшие ответы.

Вы, конечно, можете. Испытайте эти шаги:

  1. Загрузка изображение от диска в к массиву байтов
  2. кэширует изображение в случае, Вы ожидаете больше запросов на изображение и не хотите дисковый ввод-вывод (мой образец не кэширует его ниже)
  3. Изменение тип пантомимы через Ответ. Ответ ContentType
  4. . BinaryWrite массив байтов изображения

Вот является некоторым примером кода:

string pathToFile = @"C:\Documents and Settings\some_path.jpg";
byte[] imageData = File.ReadAllBytes(pathToFile);
Response.ContentType = "image/jpg";
Response.BinaryWrite(imageData);

Hope, которая помогает!

6
задан Phil Sandler 10 August 2009 в 21:57
поделиться

1 ответ

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

Я бы сделал то же самое для конфигурации Singleton, где я бы использовал StructureMap для получения фактического объекта ... но когда он возвращается, чтобы вернуть объект второй раз, сам объект передаст экземпляр самому себе (в одноэлементных терминах). Он использует StructureMap из-за его мощности ... но не дает ему большей мощности, чем необходимо.

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

Я бы сделал то же самое для конфигурации Singleton, где я бы использовал StructureMap для получения фактического объекта ... но когда он возвращается, чтобы вернуть объект второй раз, сам объект передаст экземпляр самому себе (в одноэлементных терминах). Он использует StructureMap из-за его мощности ... но не дает ему большей мощности, чем необходимо.

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

Я бы сделал то же самое для конфигурации Singleton, где я бы использовал StructureMap для получения фактического объекта ... но когда он возвращается, чтобы вернуть объект второй раз, сам объект передаст экземпляр самому себе (в одноэлементных терминах). Он использует StructureMap из-за его мощности ... но не дает ему большей мощности, чем необходимо.

Я бы сделал то же самое для конфигурации Singleton, где я бы использовал StructureMap для получения фактического объекта ... но когда он переходит на возврат объекта во второй раз, объект сам передаст экземпляр самому себе (в одноэлементные термины, то есть). Он использует StructureMap из-за его мощности ... но не дает ему большей мощности, чем необходимо.

Я бы сделал то же самое для конфигурации Singleton, где я бы использовал StructureMap для получения фактического объекта ... но когда он переходит на возврат объекта во второй раз, объект сам передаст экземпляр самому себе (в одноэлементные термины, то есть). Он использует StructureMap из-за его мощности ... но не дает ему большей мощности, чем необходимо.

7
ответ дан 17 December 2019 в 00:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: