Я создаю сайт, который работает нормально в течение нескольких часов, но затем время ожидания вызовов * .asmx и * .ashx истекает.
Исключение составляет: «Время ожидания истекло. Период ожидания истек до получения соединения из пула. Это могло произойти из-за того, что все соединения в пуле использовались и был достигнут максимальный размер пула».
Я использую SubSonic в качестве ORM.
Я подозреваю, что проблема связана с запланированной задачей, которая запускается каждые несколько минут и попадает в базу данных. Когда я смотрю в «Текущая активность» SQL Server 2000, я вижу:
- 100 процессов со статусом «спящий»
- 100 замков
100 процессов происходят из приложения ".Net SqlClient Data Provider", а команда "AWAITING COMMAND".
Так что я предполагаю, что это проблема. , но как мне устранить это? Похоже ли это на состояние тупика в БД? Как только я
c: \> iisrestart
, все хорошо (какое-то время).
Спасибо - я просто никогда не сталкивался с чем-то подобным, и не уверен, что лучший способ продолжить.
Michael