public void RaiseCallbackEvent(string eventArg) { string sResultado = ""; //1º Si hubiera argumentos, se recogen y tratan. //string MisArg = eventArg; string[] aArgs = Regex.Split(eventArg, "@#@"); sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null) { _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return; } ; //2º Aquí realizaríamos el acceso a BD, etc,... switch (aArgs[0]) { case ("getConsultas"): try { sResultado += "OK@#@" + Administracion.CatalogoConsultas(aArgs[1]); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener las consultas.", ex); } break; case ("ejecutar"): try { if (HttpContext.Current.Cache["ConsultaADM_" + Session["GVT_IDFICEPI_ENTRADA"].ToString()] != null) { HttpContext.Current.Cache.Remove("ConsultaADM_" + Session["GVT_IDFICEPI_ENTRADA"].ToString()); } DataSet ds = Administracion.ejecutarConsultaDS(aArgs[1], aArgs[2]); HttpContext.Current.Cache.Insert("ConsultaADM_" + Session["GVT_IDFICEPI_ENTRADA"].ToString(), ds, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero); sResultado += "OK@#@"; } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al ejecutar la consulta.", ex); } break; } //3º Damos contenido a la variable que se envía de vuelta al cliente. _callbackResultado = sResultado; }