Linq2SQL блокирующий объект в многопоточной среде? - PullRequest
0 голосов
/ 10 февраля 2012

У меня есть приложение службы Windows, где у меня есть объект, который обрабатывается в течение довольно длительного времени. В течение времени процесса пользователь может взаимодействовать с объектом из графического интерфейса и вызывать WCF-сервисы на сервисе. Иногда, не удалось воспроизвести проблему, кажется, что пользователь обновляет дочерний объект на моем главном объекте, это приводит к тому, что обработка не находит объект в хранилище. Это действительно может случиться? Поможет ли упаковка вызовов в репозиторий в TransactionsScope помочь?

ProcessThread: работает на объекте

WCF-сервис: обновляет некоторые дочерние объекты в свойстве объекта

ProcessThread: не удается найти объект

Есть какие-нибудь подсказки? Я все время создаю новый DataContext, чтобы он никоим образом не передавался

1 Ответ

0 голосов
/ 14 февраля 2012

Похоже, что это была проблема параллелизма с «отсутствующими и двойными чтениями, вызванными обновлениями строк», как описано в http://technet.microsoft.com/en-us/library/ms190805.aspx

...