이 디자인을 여러 번 변경하면서 앞뒤로 가고 있습니다.공유 객체 간의 데이터베이스 연결
나는 두 클래스 Shop
& Source
,
이 각 Shop
는 IList<Product>
(약. 1000 제품),
및 Source
이 IList<Item>
(약 200)가,
모든 클래스와 동일한 데이터베이스에 어떤 작업을 수행 할 필요가있다 .
을 그리고 내 WebService에을 구축 할 때 (이것은 소리 불량)
나는 오픈 정적 DbConnection
캐시, 문제가되었고, 그것을 사용 :
은 처음에는 모든 객체와 오픈 DbConnection
을 공유했습니다.
하지만 연결이 산발적으로 닫히고 ExecuteReader()
던져 (MARS를 사용하지 않은 경우) 여러 요청을 테스트 할 때 문제가 발생하기 시작했습니다.
This과 연결 풀링에 의존하는 많은 다른 출처를 읽은 후.
쿼리하기 바로 전에 연결을 열어 코드를 교체하고 완료되면 처리합니다.
하지만 성능이 저하되는 것을 확인했습니다. 풀이 작동 방법
나는 확인할 수 있습니다 (또는 그렇지?)
질문 : 내도록 SqlConnection 풀을 모니터링 할 수 있습니다?
질문 : 이러한 많은 개체간에이 연결을 공유 할 다른 디자인이 있습니까?
고마워요.
ConnectionString을 동일한 문자열 있지만, 각 클래스의 멤버이다. 나는 모든 Connection, Command & Reader에'using' 블록을 사용하고 있습니다. 내 통계를 살펴 보겠습니다. 모든 것이 내가 다른 것을 미끄러질 수 있다고 결론을 내립니다. –
@TomerW 당신이 이것을 넣을 수있는 유틸리티 클래스를 만들 것입니다. 모든 클래스에서 이것을 복제 할 이유가 없습니다. –
고마워, 정확히 내가 뭘 바꿨는지 모르겠지만, 코드를 뒤범벅하고 난 후에, 그것은 끊임없이 번개 속도를 실행하고있다 :) –