Я написал пользовательскую веб-часть для SharePoint 2007, которая загружает существующий пользовательский элемент управления. Одна из вещей, которую выполняет пользовательский элемент управления, - асинхронная загрузка файла через FTP. Я использую стороннюю библиотеку FTP, которая имеет методы BeginUpload / EndUpload для асинхронной передачи файлов. У меня также есть панель обновления в пользовательском элементе управления, которую я использую для отображения промежуточного количества переданных байтов на основе события, вызванного библиотекой FTP. Я добавил все необходимые настройки AJAX в web.config.
Все отлично работает, если я запускаю пользовательский элемент управления из отдельного проекта. Но когда я получаю доступ к веб-части, в которой находится элемент управления, и пытаюсь загрузить файл, библиотека FTP передает около 64 КБ, а затем поток, на котором она работает, умирает. Я получаю сообщение в окне вывода VS:
Поток 'Win32 Thread' (0xf34) завершился с кодом 0 (0x0).
Я получаю несколько из них, а затем библиотека FTP выдает исключение (в основном, оно истекает), рабочие процессы IIS взрываются, и все это останавливается. Есть ли что-то особенное, что мне нужно сделать в моей конфигурации SharePoint или в веб-части, чтобы это работало? Похоже, что-то в SharePoint, так как тот же код работает нормально, если SP отсутствует.