Vi la propiedad createobjref cuando usé la clase BackgroundWorker. Estoy intentando enviar una variable de objeto al método que llama a dowork. por lo tanto, descubriré qué instancia de BackgroundWorker llama al método.

Dejé un fragmento de código a continuación para que lo aprendas mejor

            bw_daily = new BackgroundWorker();
            bw_daily.WorkerReportsProgress = true;
            bw_daily.WorkerSupportsCancellation = true;
            bw_daily.DoWork += bw_daily_DoWork;
            bw_daily.RunWorkerCompleted += bw_daily_WorkerCompleted;
    
            bw_daily_2 = new BackgroundWorker();
            bw_daily_2.WorkerReportsProgress = true;
            bw_daily_2.WorkerSupportsCancellation = true;
            bw_daily_2.DoWork += bw_daily_DoWork;
            bw_daily_2.RunWorkerCompleted += bw_daily_WorkerCompleted;

Método de llamada;

protected void bw_daily_DoWork(object sender, DoWorkEventArgs e)

Creo que createobjref podría ser útil para resolver mi problema, pero no encuentro información detallada en la documentación de microsoft ni en ninguna parte.

Finalmente, si tiene una mejor solución para mí, compártala conmigo.

0
ilyas varol 22 ene. 2021 a las 09:40

1 respuesta

La mejor respuesta

He resuelto mi problema de esa manera;

Creé una clase, que heredó BackGroundWorker y agregó una propiedad bool.

    class CustomBackGroundWorker : BackgroundWorker
    {
        public DateTime RunDate
        {
            get;
            set;
        }

        public TimeSpan Period
        {
            get;
            set;
        }

        public Exception Exception
        {
            get;
            set;
        }

        public bool IsOrganization
        {
            get;
            set;
        }
    }

Y luego acabo de llamar y usar;

CustomBackGroundWorker bw_daily = new CustomBackGroundWorker();
bw_daily.WorkerReportsProgress = true;
bw_daily.WorkerSupportsCancellation = true;
bw_daily.DoWork += bw_daily_DoWork;
bw_daily.RunWorkerCompleted += bw_daily_WorkerCompleted;
bw_daily.IsOrganization = true;
0
ilyas varol 22 ene. 2021 a las 07:56