how to transform method into c # a method async c #?

1

how to transform the method to asynchronous so that this action is executed in the background.

public  void cargar_datos()
        {

            MySqlCommand cmd = new MySqlCommand("select id_zona, descripcion_zona from tb_zonas", conexion.obtenerConexion());
            MySqlDataAdapter da = new MySqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            da.Fill(dt);
            //con.Close();
            conexion.obtenerConexion().Close();
            DataRow fila = dt.NewRow();
            fila["descripcion_zona"] = "selecciona una ubicacion";
            dt.Rows.InsertAt(fila, 0);

            combo_zona.ValueMember = "id_zona";
            combo_zona.DisplayMember = "descripcion_zona";
            combo_zona.DataSource = dt;


        }
    
asked by sebastian bizama inostroza 02.10.2017 в 21:28
source

1 answer

0

Use Task.Factory.StartNew(Action t) that accepts an action that will execute it asynchronously:

public void cargar_datos() {

        System.Threading.Task.Task.Factory.StartNew(()=>{
                MySqlCommand cmd = new MySqlCommand("select id_zona, descripcion_zona from tb_zonas", conexion.obtenerConexion());
                MySqlDataAdapter da = new MySqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                da.Fill(dt);
                //con.Close();
                conexion.obtenerConexion().Close();
                DataRow fila = dt.NewRow();
                fila["descripcion_zona"] = "selecciona una ubicacion";
                dt.Rows.InsertAt(fila, 0);

                combo_zona.ValueMember = "id_zona";
                combo_zona.DisplayMember = "descripcion_zona";
                combo_zona.DataSource = dt;
        });
    }
    
answered by 02.10.2017 в 22:08