实体框架和实时框架的死锁LINQ

时间:2013-04-04 16:25:04

标签: multithreading linq entity-framework deadlock typedescriptor

我有一个asp.net/mvc 3 /实体框架4.1 Web应用程序,它访问类库以查找表数据。当我第一次访问网站并尝试同时加载两个不同的页面时,应用程序池会挂起。没有死锁或数据库中的任何活动。我使用windbg / vs2010调试器来查找线程锁。两个线程锁定在System.Component.TypeDescriptor

执行陷入lookuptable.ToList 代码:

   Using transaction As New TransactionScope(TransactionScopeOption.RequiresNew, 
            New TransactionOptions() With 
              {.IsolationLevel = IsolationLevel.ReadUncommitted})
            Using db As New Entity
              Dim lookuptable = From lk In db.LookUpTable Where lk.Id = pId Select lk
               returnValue = lookuptable.ToList
            End Using
    End Using

并行堆栈图像:

http://i50.tinypic.com/6gk3s3.jpg

感谢您的帮助

0 个答案:

没有答案