2012-01-10 3 views
-1

я получил проблему над здесь ...Странного поведения - Применение запирание

у меня есть это приложение, которое создает различные пользовательские AppDomains, каждый домен приложения выполняет сборку и его зависимость, как плагин, отделенный сборки , который управляет базой данных, собственными ресурсами и т. д.

приложение работает нормально, но внезапно оно блокируется ... процесс не умирает, он просто зависает, я запускал удаленный отладчик поверх он, в окне потока я могу видеть КАЖДОЙ поток, они со статусом «работает» (не «оттепель»), но там же, не выполняя ... я могу приостановить и запустить отладку, и он остается в такое же место.

NO NO locks, synlocks, monitor, на код и код для загрузки appdomains очень прост, не имеет большого значения на нем.

, как я сказал, его работы, но через некоторое время, он запирает ..

Все идеи на этой среде? его уже сводит меня с ума!

При необходимости какой-либо фрагмент кода я предоставлю. Благодарю.

+0

Слишком мало информации здесь. Каковы потоки, выполняемые при блокировке приложения? Трассировки стека и некоторые фрагменты кода вокруг них могут помочь. –

+0

Когда вы говорите, что он манипулирует базой данных .. делают ли базы данных одну и ту же строку соединения .. ?? если это так, возможно, вы создаете много новых строк подключения, и через некоторое время пул соединений будет заполнен. Я бы проверял места, где вы реализуете новые экземпляры чего-то и не освобождаете их должным образом. Возможно, обертывание вещей вокруг используя() {} при необходимости .. просто предложение, не видя фактического кода. – MethodMan

+0

Нити ничего не делают, они со статусом «работают», но фактически не работают. Его замороженные. И не все процессы манипулируют базами данных. – Brizio

ответ

0

Если есть база данных, у вас наверняка есть замки. Взгляните на инструкции SQL, которые выполняются потоками, вы можете обнаружить, что у вас есть тупик на руках.

Я не уверен, что SQL Server может обнаруживать все взаимоблокировки или может быть сконфигурирован не для самостоятельного разрешения взаимоблокировок.

+0

Но возможно ли это? В отделенном домене сборка, использующая базу данных оракула, может блокировать ВСЕ другие потоки? – Brizio

+0

Смотрите мой комментарий выше. – Brizio

Смежные вопросы