Я запускаю приложение Windows Form Base, я использую фоновый рабочий класс для httpwebrequest.Используя веб-браузер, оба сохраняют данные в таблицу Excel.Это работало нормально, или, может быть, это была удача, теперь я вижу, что когда-то код застревает в операторе вставки, он просто идет в
myCommand.ExecuteScalar();
не выходит. И через некоторое время я вижу это:
CLR не удалось перейти из контекста COM 0x7833a8 в контекст COM 0x7838b0 в течение 60 секунд.Поток, которому принадлежит целевой контекст / квартира, скорее всего, либо делает ожидание без перекачки, либо обрабатывает очень длительную операцию без перекачки сообщений Windows.Эта ситуация, как правило, оказывает негативное влияние на производительность и может даже привести к тому, что приложение перестает отвечать на запросы или использование памяти постоянно увеличивается с течением времени.Чтобы избежать этой проблемы, все потоки однопотоковых квартир (STA) должны использовать примитивы перекачки (такие как CoWaitForMultipleHandles) и регулярно перекачивать сообщения во время длительных операций.
Запрос, в котором он застревает:
try
{
myCommand.CommandText = "Insert into [outputsheet$] (website,[facebook page],DealTitle,Dealtime,Dealprice,Dealvalue,Dealdiscount,Dealsaving,Linktitle,address,Category,[Type of Deal]) Values('" +
webaddress.Replace("'", "''") + "','" + facbookaddress.Replace("'", "''") + "','" + title.Replace("'", "''") + "','" + dealtime.Replace("'", "''") + "','" +
amount.Replace("'", "''") + "','" + value.Replace("'", "''") + "','" + discount.Replace("'", "''") + "','" + saving.Replace("'", "''") + "','" +
titleweb.Replace("'", "''") + "','" + address.Replace("'", "''") + "','" + categoryName.Replace("'", "''") + "','Now Deals')";
myCommand.ExecuteScalar();
}
catch (Exception exp)
{
}
Пожалуйста, помогите, есть что-нибудь, что мне нужно сделать. Как избежать этого.Спасибо