我学习 .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"));
}));
当我在通讯录中添加 Mark 时,它添加在主线程的 ContactBook 中,而不是 Task 创建的线程中。
请帮助访问主线程的 ViewBag.Message ?