2011-03-30 22 views

回答

3

只有完全控制線程纔是安全的。這意味着你必須創建線程和線程必須完成工作後死亡。如果使用線程池查詢工作,則不得使用每個線程的上下文。線程池用於例如用於ASP.NET,ASP.NET MVC或WCF請求的線程。上下文不是線程安全的,因此不要在線程間共享。

要存儲每個線程的內容,請使用static變量並將其標記爲ThreadStaticAttribute

1

我會將EF上下文的範圍限制在請求級別上的特定工作單元

如果您的工作單元與請求無關,您可以爲此創建一個新線程並使用新的EF上下文,請在該工作單元完成後立即處理它。請注意,儘管EF上下文不是線程安全的,即不能在多個線程中使用相同的上下文。

+0

請在這裏看到評論... http://stackoverflow.com/questions/5414076/ef4-objectcontext-lifetime/5414475#5414475 – JTew 2011-03-30 22:57:57

相關問題