Как обновить интерфейс универсальным способом из других потоков / делегатов? - PullRequest
2 голосов
/ 17 февраля 2011

Я создал код psedo того, чего я хотел бы достичь. Внутри потоков SomeBLL (). PerformBeginWork () будут созданы и поддерживаться для выполнения работы. Используя dot.net 4.0, что было бы лучшим способом поместить эту обработку в поток, не являющийся пользовательским интерфейсом, и при этом позволить назначенным делегатам запускать и обновлять пользовательский интерфейс в Windows и веб-приложении без изменений кода?

public class SomeBLL : BaseAsynWorker, IAsyncWorker
{
...makes threads and does work (if events are assigned then call them)
}

На веб-странице


SomeBLL sm=new SomeBLL();
sm.OnBeginWork+=ProcessUIUpdate;
sm.OnProgressUpdate+=ProcessUIUpdate;
sm.OnEndWork+=ProcessUIUpdate;
sm.OnHardError+=ProcessHardError;
SomeThreadClass.Spawn(sm.PerformBeginWork())

В процессе без пользовательского интерфейса


SomeBLL sm=new SomeBLL();
sm.PerformBeginWork();

1 Ответ

0 голосов
/ 17 февраля 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...