Необычное исключение - чтение / обновление таблицы Excel - PullRequest
1 голос
/ 02 марта 2010

Я читаю содержимое полной таблицы в формате данных

Затем выполните итерацию в базе данных Table.Rows Query Remote (Oracle) и создайте / обновите / удалите учетную запись ADS

Затем обновите строку Excel с результатом (статус)

В большинстве случаев все идет гладко, но периодически я получаю это исключение:

ContextSwitchDeadlock был обнаружен
Сообщение: CLR не удалось перейти из контекста COM 0x2119a8 в контекст COM 0x211b18 в течение 60 секунд. Поток, которому принадлежит целевой контекст / квартира, скорее всего, либо делает ожидание без перекачки, либо обрабатывает очень длительную операцию без перекачки сообщений Windows.

Эта ситуация, как правило, оказывает негативное влияние на производительность и может даже привести к тому, что приложение перестает отвечать на запросы или постоянно накапливается использование памяти. Чтобы избежать этой проблемы, все потоки однопоточных квартир (STA) должны использовать примитивы перекачки (такие как CoWaitForMultipleHandles) и регулярно перекачивать сообщения во время длительных операций.

Что может быть причиной этого?

...