私は .NET を勉強していますが、今は ASP .NET MVC 4 を使った Web 開発を学んでいます。
タスクを作成しました:
Task t = new Task(new Action(() =>
{
while (convert("suitandtie.mp4") != 1)
{
if (i == 4)
{
// Here I want to access in mainthread property
// I need to change text for viewBag like :
// ViewBag.Message = "Convert failed";
// But I need a Dispatcher and invoke for accessing
// the ViewBag of the mainthread
break;
}
i++;
}
}));
t.Start();
.Net アプリケーションでは、System.Windows.Threading.Dispatcher を使用して呼び出し呼び出しに使用できます。私は自分のアプリケーションでそれをしました:
this.Dispatcher.Invoke(new Action(() =>
{
ContactBook.Add(Person("Mark", "232 521 424"));
}));
連絡帳にマークを追加すると、タスクによって作成されたスレッドではなく、メインスレッドの連絡帳に追加されました。
メインスレッドの ViewBag.Message にアクセスするのを手伝ってください。