¡Saludos!ASPX que devuelve una imagen - ¿Caché de salida disponible?
He creado un formulario web APSX que devuelve una imagen remota basada en algunos parámetros suministrados. Se puede utilizar la siguiente manera: el marcado y el código
<img src="/ImageGetter.aspx?param1=abc¶m2=123" />
de ImageGetter.aspx un aspecto similar a este:
<%@ OutputCache Duration="100000" VaryByParam="*" Location="ServerAndClient" %>
<%@ Page Language="C#" AutoEventWireup="false" EnableSessionState="False" CodeBehind="ImageGetter.aspx.cs" Inherits="ACME.Helpers.ImageGetter" %>
Este código se llama en el método Page_Load de ImageGetter.aspx:
byte[] data = null;
Dictionary<string, string> file_locations = GetImageLocations(param1, param2);
try
{
data = new WebClient().DownloadData(file_locations["main"]);
}
catch (WebException wex)
{
try
{
data = new WebClient().DownloadData(file_locations["backup"]);
}
catch (Exception e)
{
throw;
}
}
Response.ContentType = "image/jpeg";
Response.OutputStream.Write(data, 0, data.Length);
Response.End();
De mi prueba, no parece estar en caché. ¿Es esto posible con el Caché de resultados o debería recurrir a escribir mi propio caché para almacenar los arrays de bytes en función de los parámetros de cadena de consulta?
caída Response.End alguna manera se ralentiza aún más. – Bullines
... porque ahora está saltando a través de los aros de caché? – Codebrain