【发布时间】:2012-09-22 13:43:17
【问题描述】:
我有以下代码:
var docs = ctx.Documents.Select(a =>
new { a.ID, Content = a.Document, a.LastModified, CreatedDate = a.Created });
foreach (var doc in docs)
{
if (Utility.ContinueDocumentPreview)
{
_createFile(doc.ID, doc.Content, doc.CreatedDate, doc.LastModified);
_fireProgress(++counter, count);
}
else
{
break;
}
}
当用户在此进程运行时单击“取消”按钮时,Utility.ContinueDocumentPreview 标志设置为 false。问题是当标志为假并且代码应该跳出循环时,我得到一个 SQL 超时异常。
我做错了吗?
【问题讨论】:
-
从您提供的代码来看,我认为您的问题与循环无关。您是否检查了堆栈跟踪以确认这与您的循环有关?
-
当您不取消时,一切运行正常吗?
doc.Content可以有多大?
标签: c# sql-server-2008 entity-framework-4 foreach iqueryable