Вы можете вернуть список абзацев
description = [item.text for item in soup.select('div.cn-content')]
и затем
return description
В IIS менеджер нажимают на приложение в дереве.
Дважды щелкните по ASP под разделом IIS.
Разверните "отладку свойств"
Удостоверьтесь и, "Включают Клиентскую Отладку" и, "Включают Серверную сторону, отлаживающую", имеют значение false.
Когда отладке включают, ASP ограничен обработкой одного запроса за один раз единственным потоковым способом.
В первую очередь: Удостоверьтесь, что Вы тестируете это с несколькими клиентами. Одиночный компьютер делает только 2 Запроса HTTP одновременно к тому же серверу (адрес IP). (Это - RFC speficiation.)
Если это не разрешает Вашу проблему, смотрит в IIS7-> ASP-> Сервисы->, COM Плюс Свойства-> Выполняются в MTA. Попытайтесь установить эту установку на "Истинный".
Надеюсь, это поможет.
Вы уверены, что у Вас нет зависимости в Вашем коде, который вызывает мертвую блокировку. Я видел это прежде, где вход, sql соединения и т.д. создает зависимость. Используйте perfmon и проверьте очередь чтения-записи жесткого диска, очередь чтения-записи памяти, чтобы видеть, создают ли вещи резервную копию.
Я настоятельно рекомендовал бы Tess Ferrandez (Инженер технической поддержки ASP.NET - Microsoft) блог для партий в понимании и способе узнать то, что происходит. Tess забыла больше об этом материале, чем большинство людей будет когда-либо знать.
Я думаю, что Вашей проблемой не является связанный IIS, но что-то в Вашем приложении, вероятно, в Вашем компоненте ActiveX. Удостоверьтесь, что Вы моетесь после своего компонента ActiveX. Вот часть кода, который я использую для чистки после использования Excel (Другой компонент Com). Помните, что Com не управляют.
Private Sub ShutDownExcel()
If objExcel IsNot Nothing Then
objExcel.DisplayAlerts = True
objExcel.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcel)
objExcel = Nothing
End If
' Clean up memory so Excel can shut down.
GC.Collect()
GC.WaitForPendingFinalizers()
' The GC needs to be called twice in order to get the
' Finalizers called - the first time in, it simply makes
' a list of what is to be finalized, the second time in,
' it actually the finalizing. Only then will the
' object do its automatic ReleaseComObject.
GC.Collect()
GC.WaitForPendingFinalizers()
End Sub
Надеюсь, это поможет.
IIS7 больше всего, конечно, многопоточен, таким образом, я предположил бы, что существует проблема с Вашим приложением.
Вы упомянули ActiveX для загрузки страницы из того же сервера - возможно, этот ActiveX не со свободными потоками, и это вызывает каждую страницу, которая использует его для выполнения единственного экземпляра?
BTW: Веб-Сад - тот же сервер useing несколько процессов - не может использовать незавершенную Веб-ферму сессии - несколько веб-серверов
Вы изменили "Управляемый конвейерный режим" на Пуле приложений "Классику" (значение по умолчанию "Интегрируется")? В противном случае попробуйте классиком.
Я не знаю, помогло ли это всегда. Я давно прекратил бороться, чтобы заставить классические приложения ASP работать с IIS7. (Не то, чтобы я могу сказать, приложения действительно хороши и корректны, но они работали в более ранних версиях.)
И попытайтесь выключить буферизацию для тестовых страниц и заставьте их выложить что-то в каждом повторении. Буферизация (и кэширование), возможно, изменились в IIS7. Возможно, они обрабатываются одновременно, в конце концов, и просто буферизует, являются слишком большими для наблюдения различия.
Это - все, что прибывает по моему мнению прямо сейчас.
Я предполагаю, что Вы тестируете с очень простым случаем. Ваше приложение не делает (ни не протестируйте страницы, ни global.asa), используйте любые странные объекты, которые характерны для обоих запросов и так блокировка потребности.
Просто мысль, но если Вы переходите к веб-сайту в IIS, нажмите Limits... связываются слева, на что установлены ограничения соединения? Существует и макс. пропускная способность и макс. опции параллельных соединений там.
Я также перешел бы к Пулу приложений и нажал бы Advanced Settings... и проверил бы пределы Памяти и ЦП. Возможно даже создавая новый пул приложений с нуля без Управляемого кода, выбранного для устранения его.
Удостоверьтесь, что asp.net настроен для использования больше чем 1 рабочего потока. Эта статья MSDN объясняет, как установить этот параметр конфигурации.