Attention: We are retiring the ASP.NET Community Blogs. Learn more >

Silverlight y Cookies

Vamos a ver un ejemplo de como setear u obtener cookies desde una aplicación Silverlight.

Para lograr este objetivo vamos a utilizar el objeto HTMLPage.Document, teniendo en cuenta que necesitamos agregar la referencia al namespace System.Windows.Browser.

private void SetCookie(string keyCookie, string valorCookie)
{
    DateTime expireCookie = DateTime.Now + TimeSpan.FromDays(30);
    string nuevaCookie = keyCookie + "=" + valorCookie + 
                         ";expires=" + expireCookie.ToString("R");
    HtmlPage.Document.SetProperty("cookie", nuevaCookie);
}

 

Como vemos utilizamos el método SetProperty para definir el valor, mandando en el primer parámetro “cookie” para que sepa que tipo de objeto queremos definir, y en el segundo todos los valores de la cookie.

private string ObetenerCookie(string keyCookie)
{
    string[] cookies = HtmlPage.Document.Cookies.Split(';');
    foreach (string cookie in cookies)
    {
        string [] keyValue = cookie.Split('=');
        if (keyValue.Length == 2)
        {
            if(keyValue[0].ToString() == keyCookie)
                return keyValue[1];
        }
    }
    return null;
}

Para obtener el valor de una cookie, vamos a tener que recorrer todas las cookies hasta encontrar la que nosotros necesitamos. HtmlPage.Document.Cookies nos devuelve un string con todas las cookies separadas por “;”.

No Comments