Я знаю, что этот вопрос задан много раз, но моя проблема немного отличается.Статус блокировки фоновой обработки ASP.NET
У меня есть страница, которая позволяет пользователю загружать и выгружать файл excel. Во время загрузки excel для создания файла требуется около 2 минут. Я добавил контрольные точки, которые обновляют базу данных со статусом вроде (начальная обработка, работа с заголовком ... и т. Д.). Я сделал то же самое для загрузки.
У меня также есть запрос ajax, который проверяет базу данных с фиксированным интервалом и печатает статус пользователю, чтобы давать обратную связь (начальная обработка, работа с заголовком ... и т. Д.).
Проблема в том, что я получаю обратную связь только после завершения процесса. Похоже, что сеанс заблокирован во время фонового процесса, и любой другой запрос (ajax) завершается только после завершения фонового процесса. ajax составляет около 10 запросов с интервалом в 4 секунды. Я получаю ответ 10 только в конце.
Я пробовал два фрейма, а также фреймы, один запустил ajax и другие, выполняющие этот процесс, не работает. Я попробовал отдельный браузер (процесс работает в IE, ajax работает в FF), и это работает (так что теперь я работаю над своим кодом). Может кто-нибудь посоветовать? Спасибо
p.s. Моя среда IIS 6, ASP.NET 3.5 с браузером MVC 1.0 IE6.0
Спасибо за ответ, но я тоже пытался это Firefox, и она имеет 15 соединений и даже этот не работает. – surya
@spiderdevil Браузеры не единственные, которые ограничивают это. Он фактически встроен в спецификации HTTP 1.0 и 1.1, поэтому серверы могут также соблюдать спецификации HTTP и их ограничения, которые, как я полагаю, представляют собой 4 одновременных подключения. – Joseph
Я проверил со скрипачом. и я вижу только два подключения, мой процесс и мой запрос ajax добавляются в очередь каждые две секунды. как только мой процесс закончится, все ответы ajax вернутся. Как решить эту проблему. – surya