public void IniciarSesion()
        {
            if (autorizado != null)
            {
                CerrarConexionVivanto();
            }

            disposedValue = false;
            cliente       = new XmlServiceClient(parametros.UrlBase);

            using (var httpResponse = cliente.Get <HttpWebResponse>("{0}/{1},{2},{3}".Fmt(parametros.UrlLogin, parametros.IdAplicacion, login.Usuario, login.Clave)))
            {
                var responseStream = httpResponse.GetResponseStream();
                var r2             = responseStream.ToUtf8String();
                var dd             = ServiceStack.Text.XmlSerializer.DeserializeFromString <List <Autorizado> >(r2);
                if (dd.Count > 0)
                {
                    autorizado = dd[0];
                    long prueba;
                    if (!long.TryParse(autorizado.IdUsuario, out prueba))
                    {
                        var msg = autorizado.IdUsuario;
                        autorizado = null;
                        throw new ExcepcionServicioVivanto(DirInfoLog, msg);
                    }

                    Log.Autorizado(DirInfoLog, "{0} {1}".Fmt(autorizado.IdUsuario, autorizado.Token));
                    return;
                }
            }
            throw new ExcepcionServicioVivanto(DirInfoLog, "Metodo de autenticación no retornó Autorizados");
        }
 private void CerrarConexionVivanto()
 {
     if (cliente != null)
     {
         using (cliente)
         {
             if (autorizado != null)
             {
                 try {
                     using (var httpResponse = cliente.Get <HttpWebResponse>("{0}/{1},{2},{3}".Fmt(parametros.UrlLogout, parametros.IdAplicacion, autorizado.IdUsuario, autorizado.Token)))
                     {
                         var responseStream = httpResponse.GetResponseStream();
                         var r2             = responseStream.ToUtf8String();
                         Log.Sesion(DirInfoLog, r2);
                     }
                 }
                 catch (Exception ex)
                 {
                     Log.Sesion(DirInfoLog, ex.Message);
                 }
                 autorizado = null;
             }
         }
         cliente = null;
     }
 }