Многопоточность -проблема backgroundworker
Мы используем следующий код.
В базовой функции (onfinishes), если я изменю JobSummaryobj.filename, иногда обновленное значение filename не передается в launchRequest. Может кто-нибудь посоветовать, что делать?
internal virtual onfinishes(object sender, EventArgs<batchjobresult> args) { JobSummary.OutputLocation = JobSummary.BaseOutputFilePath; RunInBackground(JobSummary); } private void RunInBackground(JobSummary JobSummaryobj) { var backGroundWorker = new BackgroundWorker(); backGroundWorker.DoWork += (sender, aventArgs)=>runController.launchRequest(aventArgs.Argument as JobSummary); backGroundWorker.RunWorkerAsync(JobSummaryobj); } public void launchRequest(JobSummary JobSummaryobj) { // sometimes i don't get updated value here . }
Что я уже пробовал:
Я попытался передать объект по ссылке ref