为什么Task.Factory.StartNew()永远不会在IIS7下运行它的操作?

时间:2014-12-18 20:40:34

标签: c# asp.net iis-7 taskfactory

我有一个运行.ASP.NET WebForms .NET 4.0代码的Windows Server 2008 R2 IIS 7实例。在回发中有一个线程生成器,它运行一个长时间运行的进程。

以下代码在IIS7下无效。它在Cassini本地和我们可用的另一个Windows Server 2003 IIS6实例上工作正常。

var t = Task.Factory.StartNew(() => ProcessWorkItem(wid));
var ex = t.Exception;
Log(string.Format("Spawned background task to wid={5}: id={1} status={4} isfaulted={3} iscompleted={2} ex={0}",
            ex == null ? "no exception" : ex.ToString(),
            t.Id,
            t.IsCompleted,
            t.IsFaulted,
            t.Status,
            wid));

这记录"没有例外"和" isfaulted = false"和" iscompleted = true"不管服务器。

但是,在ProcessWorkItem内部还有一个日志语句,它在IIS7上永远不会被命中,尽管它在IIS6或Cassini本地开发服务器上都没问题。

知道为什么会这样吗?

0 个答案:

没有答案