2009-12-18 4 views
0

타사의 RSS 피드를 읽은 다음 데이터를 데이터베이스로 가져옵니다.공유 호스팅의 ASP.NET 응용 프로그램에서 프로세서를 가장 잘 관리하는 방법

간혹이 프로세스가 시간 초과됩니다. 순간

{"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 A 버튼) 내가 4 원하는 데이터를 얻을 수 LINQ를 사용하여 3) 문의 한가)에 삽입 된 RSS를 다운로드 다음 한 데이터 베이스.

시간 제한을 최소화하는 것이 좋습니다. 버튼 클릭으로 ashx를 부르면 도움이 될 것 같았습니다. 제안에 정말 감사드립니다. 이것은 공유 호스팅에있을 것입니다.

감사합니다.

답변

3

데이터베이스 삽입 시간이 초과되었습니다. 동일한 서버에 많은 연결이있는 경우 이런 일이 발생할 수 있습니다. 작업을 마치면 연결을 종료 하시겠습니까?

연결 풀 크기를 늘릴 수도 있습니다. 이 기사를 읽으십시오 : http://www.15seconds.com/Issue/040830.htm

+0

동의. SqlConnection은 가능한 한 빨리 닫아야합니다. –

1

RSS 호출과 DB 삽입을 새로운 백그라운드 스레드에서 만들 수 있다면 더 좋을 것입니다. 일반 페이지 나 .ashx 등을 사용하여 요청을 백그라운드 스레드에 대기시킵니다.

포어 그라운드 스레드에 보관하는 경우 ASP.NET 작업자 스레드 풀이 고갈되지 않도록 가능한 한 비동기 I/O를 사용하십시오.

물론 모든 IDisposable 개체를 닫았다가 놓으십시오.

+0

끝내 주셔서 감사합니다. – frosty

관련 문제