我目前使用.NET的C#4.0和所遇到的问题与一些代码,我写的是导致我有些头疼。
我使用与System.Threading.Tasks.TaskScheduler会同System.Threading.Tasks.TaskFactory类来启动一个新的线程在我的控制台应用程序,其中线程的功能是检查项目已添加到队列。 当一个项目被添加到队列中,它处理它。
所以队列包含邮件被发送,一旦电子邮件被添加到队列中,电子邮件是通过多个用户端发送。 发送到每个并行进行。
我这里有以下异常在新线程在某些时候出现这种间歇性问题:
[System.Threading.ThreadAbortException] = {无法因为代码被优化或天然帧是在调用堆栈的顶部以评价表达。}
调试时,我没能得到任何进一步的信息,如堆栈中的所有属性都有“无法因为代码优化或本机框上调用堆栈的顶部,以评估表达。”
展望互联网的解决方案,我发现这是做一个Response.Redirect的,但我没有在我的代码执行此操作时出现的问题。 如果我尝试调试,有作为的地方出现这种错误没有一致性。 以下是我用它来创建工厂,并开始新线程的代码:
this.taskFactory = new TaskFactory(TaskScheduler.Current);
this.taskFactory.StartNew(this.DequeueMessage, state, TaskCreationOptions.LongRunning);
有没有人任何指针,为什么我会收到此错误,因为它可能如何被固定任何提示?