2011-01-15 5 views
1

SQL Server에 대한 웹 서비스 연결을 사용하여 대규모 .Net Winforms 프로젝트에서 작업합니다. 비즈니스 기능으로 그룹화 된 약 10 가지 서비스가 개발되었습니다. 이러한 서비스 중 일부는 많은 기능으로 상당히 커졌습니다. 이것에 대한 모범 사례는 무엇입니까? 동일한 서비스에서 수백 가지 기능을 수행 할 때 성능이 저하됩니까? 더 작은 서비스를 갖는 것이 더 낫지 않습니까? 그것은 그대로 사용하는 것이 상당히 쉬우 며, 서비스는 서로 상당히 격리되어 있으며 어떤 서비스를 원하는지 바로 알 수 있습니다..Net 웹 서비스, 서비스 수 대 서비스 크기 대

답변

1

소량의 데이터 만 반환하는 웹 메서드를 여러 번 호출하는 것보다 더 큰 데이터 집합을 반환하는 웹 서비스 메서드를 호출하는 것이 적어야합니다. 엄지 손가락의 규칙은 프로세스 및 네트워크 경계를 이동할 수있는만큼 피하는 것입니다.

+0

동일한 통화 수와 동일한 양의 데이터가 있습니다. 제 질문은 1 개의 서비스에서 1000 건의 전화를하거나 10 개의 다른 서비스에서 100 건의 전화를하거나 20 가지의 서비스에서 50 건의 전화를하는 것이 더 낫지 않습니까? – dwidel

+0

나는 동의하지 않는다. 주어진 시간에 필요한 데이터 만 검색하십시오. 예를 들어 고객을 위해 모든 데이터를 반환하는 하나의 대규모 호출보다 작은 호출이 많습니다. – DaveRead

+0

@DaveRead, 객관적인 결과를 얻으려면 항상로드 테스트를 수행하는 것이 좋습니다. 개인적으로 필자는 네트워크 대기 시간과 직렬화/직렬화 해제 오버 헤드로 인해 더 큰 데이터 세트로 더 적은 호출을하는 것이 더 바람직하다는 결론을 내린 많은 테스트 (내 응용 프로그램에서)를 수행했습니다. 물론 이것은 의존 할 것입니다. –

1

전화를 언급 할 때 WebMethods를 의미합니까, 아니면 WebMethod에 대한 실제 호출을 의미합니까?

모든 웹 메소드를 하나의 웹 서비스로 그룹화 할 때 병목 현상이 발생하는 것을 들어 본 적이 없지만 여러 서비스를 통해 분할하는 이점 중 하나는 각 웹 서비스를 다른 애플리케이션 풀에 넣을 수 있다는 것입니다. 애플 리케이션 풀 재활용에.

또한 기본 웹 서비스는 .net 4.0에서 더 이상 사용되지 않습니다. WCF로 대체되었으므로 이전 웹 서비스 메서드보다 성능이 약간 향상되었습니다. 이 둘 사이의 성능 분석은 http://msdn.microsoft.com/en-us/library/bb310550.aspx을 참조하십시오.