2008-10-31 6 views

답변

0

webservice를 호출하고 결과를 가져 와서 리피터에 바인딩하십시오.

가능한 경우 전반적인 성능 향상에 도움이되도록 가능한 한 정보를 캐시에 저장해보십시오.

1

다른 웹 사이트를 호출하기 때문에 두 가지 문제를 해결해야합니다 (특히이 웹 서비스가 다른 사람의 웹 사이트 또는 공용 인터넷에있는 경우). 첫째, 다른 웹 사이트에서 데이터를 검색하는 데 지연이있을 수 있습니다. 둘째, 다른 웹 사이트가 시간 초과 될 수 있습니다.

최소한 asychronous page 요청을 고려해야합니다.

동기 요청이 에 원격 웹 서비스를 호출하거나 원격 데이터베이스를 조회하고 기다리는 경우 I/O를 바운드 - 예를 들어, 전화 을 위해 오는 될 경우이 MSDN 문서 상태로 그때 요청에 을 할당 한 스레드는 호출을 반환 할 때까지 아무것도하지 않고 붙어 있습니다. 이는 스레드 풀 에 제한된 수의 스레드가 있으므로 을 사용할 수 없으므로 확장 성을 저해합니다. 모든 요청 처리 스레드가 I/O 작업이 완료 될 때까지 대기하는 것을 차단하면 추가 요청이 스레드가 대기 할 때까지 대기열에 들어갑니다. 기껏해야 요청이 처리되기까지 더 오래 기다리므로 응답이 줄어 듭니다. 최악의 경우 대기열이 가득 차고 ASP.NET은 "서버 사용할 수 없음"오류가있는 후속 요청에 실패합니다.

하지만 가장 좋은 해결책은 아마도 AJAX를 사용하는 것입니다. 페이지를로드 한 다음 repeater를 채우기 위해 ajax 요청을 작성하십시오. 그렇게하면 웹 서비스를 기다리는 동안 좋은 "회전"그래픽이나 다른 것을 얻을 수 있습니다.

관련 문제