none
Borrar cache (C#) RRS feed

  • Pregunta

  • Buenos días,

    Tengo una aplicación de silverlight 5 en C# la cuál constantemente hago updates y siempre tengo el problema del cache con los usuarios. Hay algun código que pueda meter en mi source para hacer que el cache se borre?

    Encontré esta opción pero no se que más completar dentro del IF.

    Application.Current.CheckAndDownloadUpdateAsync();
                Application.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(Current_CheckAndDownloadUpdateCompleted);

    private void Current_CheckAndDownloadUpdateCompleted(object sender, CheckAndDownloadUpdateCompletedEventArgs e)
            {
                if (e.UpdateAvailable)
                {
                    
                }
            }

    O en todo caso si tienen mejores opciones.

    Gracias.

    viernes, 25 de septiembre de 2015 13:56

Respuestas

  • Hola Vicente,

    Recomiendo revises este articulo, que describe como arreglar tu problema.

    Prevent your Silverlight XAP file from caching in your browser.

    Propone una solución, (que no recomienda, porque se forza a que el archivo XAP se actualice cada vez) que es la siguiente:

    <param name="source" value="ClientBin/SilverlightApplication2.xap?<%=Guid.NewGuid().ToString() %>"/>

    Parece que la solución es que crees el parametro "source" dinamicamente, en la pagina host de tu aplicación e implica comprobar la fecha de creación XAP y añadiendo al parametro name=source.

    <%
        string strSourceFile = @"ClientBin/SilverlightApplication2.xap";
        string param;
        if (System.Diagnostics.Debugger.IsAttached)
            param = "<param name=\"source\" value=\"" + strSourceFile + "\" />";
        else
        {
            string xappath = HttpContext.Current.Server.MapPath(@"") + @"\" + strSourceFile;
            DateTime xapCreationDate = System.IO.File.GetLastWriteTime(xappath);
            param = "<param name=\"source\" value=\"" + strSourceFile + "?ignore="
                    + xapCreationDate.ToString() + "\" />";
        }
        Response.Write(param);
    %>

    Fuente: Lars Holm Jenson.

    Espero que la respuesta te ayude.

    Saludos,

    @norrojas

    viernes, 25 de septiembre de 2015 14:50