.NET Task在一个Thread中执行

时间:2011-06-28 10:42:49

标签: c# asp.net .net-4.0 task culture

我可以依赖Task始终在一个线程中执行的事实吗?它可以是任意的,但对于整个身体应该是相同的,因为我需要正确设置线程的Culture

Task bind = Task.Factory.StartNew(() =>
{
    Thread.CurrentThread.CurrentCulture = culture;

    // do some asp.net binding stuff with automatic
    // date formatting

    gridView.DataSource = table;
    gridView.DataBind();
}

如果我不能,是否有一个参数左右来获得这种行为?

干杯,马蒂亚斯

2 个答案:

答案 0 :(得分:3)

我相信为任何特定任务指定的代码将在一个线程上执行 - 但延续可能不会。如果任务在任务正文中是线程敏捷的,那么编写有效代码将非常困难,所以我很确定你没事。

另一方面,如果您在相关的任何地方明确使用文化,那么您的代码可能最终会变得更加清晰。根据ASP.NET的不同,这可能是不可行的,但如果可能的话,值得考虑。

答案 1 :(得分:0)

是的,除了启动子任务或显式创建其他线程(Thread,ThreadPool等)的情况外,任务正在一个线程中执行。