Как лучше всего управлять процессором из приложения ASP.NET на виртуальном хостинге - PullRequest
0 голосов
/ 18 декабря 2009

Я читаю RSS-канал от третьего лица, а затем импортирую данные в базу данных.

Время от времени этот процесс прерывается.

{"Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached."}

На данный момент у меня есть следующее

1) Кнопка на странице asp.net 2) Скачивает RSS 3) Запрос с использованием linq, чтобы получить данные, которые я хочу 4) Вставлено в базу данных.

Что является хорошей практикой для минимизации тайм-аутов. Я думал, что вызов Ashx при нажатии кнопки может помочь. Очень ценю предложения. Это будет на виртуальном хостинге.

спасибо

Ответы [ 2 ]

3 голосов
/ 18 декабря 2009

Время ожидания вставки вашей базы данных. Это может произойти, если у вас много подключений к одному серверу. Вы уверены, что закрываете свои соединения, когда закончите с ними?

Вы также можете попытаться увеличить размер пула соединений. Пожалуйста, прочитайте эту статью: http://www.15seconds.com/Issue/040830.htm

1 голос
/ 18 декабря 2009

Было бы лучше, если бы вы могли сделать вызов RSS и вставить БД из нового фонового потока. Используйте обычную страницу или .ashx или что-то еще, чтобы поставить запрос в фоновый поток.

Если вы держите его в потоке переднего плана, по возможности используйте асинхронный ввод-вывод, чтобы избежать опустошения пула рабочих потоков ASP.NET.

И, конечно же, обязательно закройте / отпустите / утилизируйте все свои IDisposable объекты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...