У меня есть служба Windows, которая зависает при открытии OLEDB-соединения с файлом Excel, например:
using (var connection = new OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ fileName + ";Extended Properties=\"Excel 8.0\""))
{
connection.Open();
// start using the connection
}
Этот код отлично работает при запуске в качестве консольного приложения. Когда я отлаживаю службу Windows с помощью Visual Studio, я могу входить в код до тех пор, пока не нажму вызов connection.Open(). В этот момент нить зависает. Никаких исключений не выбрасывается. Visual Studio остается отзывчивой, пока я не нажму кнопку «Сломать все» или «Остановить отладку». В этот момент Visual Studio также зависает. Когда я убиваю процесс, Visual Studio снова становится отзывчивой.
Кто-нибудь знает, почему это происходит и как это решить?
РЕДАКТИРОВАТЬ: имя_файла — абсолютный путь; файл был написан самой службой.