2009-11-04 12 views
0

내 클라이언트 asp.net 웹 사이트에서 WCF 서비스에 대한 참조를 추가했습니다. 내가 위에서 아래로 인해 성능에 대해 확신하지WCF 서비스 호출 - 서비스 인스턴스화

TemplateServiceClient objTemplateService = new TemplateServiceClient(); 
objTemplateService.MethodCall(); 

: 지금

, 나는 것처럼 모든 서비스 메서드 호출에서 WCF 서비스를 인스턴스화하고 있습니다.

성능이 저하 될 경우 내 서비스 메서드를 호출하는 더 나은 방법을 제안 해 줄 수 있습니까?

감사합니다.

답변

3

성능을 확인하는 유일한 방법은 테스트하는 것입니다. 그렇다면 걱정해야 할 것이 있습니다.

당신이하고있는 일과 사용 방법을 모른 채 알기가 어렵습니다.

모든 일반적인 작업을 수행 할 수 있도록 웹 서비스 클라이언트는 단지 또 다른 목적 :

당신이 새로운 인스턴스마다 함께 무슨 일을하는지
  • ;
  • 서비스 호출이 동일한 메소드에있는 경우 객체를 다시 사용하십시오.
  • 개체를 클래스 내에 필드로 만듭니다.
  • 싱글

는 개인적으로, 나는 내가 할 대부분의 것들에 대한 두 번째로 끝날하는 경향이 있지만 그건 내 사용 프로필을 맞는다.

+0

답장을 보내 주셔서 감사합니다. 클래스 수준의 개체를 만들었습니다. 그러나 나는 다른 메소드에서 서비스 호출을하고 있다고 부르기 때문에 모든 메소드에서 인스턴스화해야한다. 그 일을 피하기 위해 주위에 어떤 일을합니까? – iniki

+0

나는 질문이 있어야한다고 생각한다 : 당신이 필요합니까? 유지 보수에 대해 생각해보십시오. 매번 개체의 새 인스턴스를 만드는 경우 올바른 상태에 있고 다른 방법으로 변경되지 않았다고 합리적으로 확신 할 수 있습니다. 나는 상황이 어떻게 설정되어 있는지에 달려 있다고 생각하지만, 어떤 사람은 6 개월 만에 웹 서비스에 영향을 주지만 모든 방법을 확인하지는 않습니다. 그녀는 버그를 온통 소개 할 수 있습니다. – serialhobbyist

+0

무서운 글로벌/정적/싱글 톤 물건을 만들어서 어디에서나 액세스 할 수 있지만 그래도 될까요? 아마도 그렇지 않습니다. 성능이 가장 중요한 관심사이지만 문제가 아닌 경우 유지 보수가 바로 수행되어야합니다. – serialhobbyist

0

성능이 만족 스럽다면 문제가되지 않습니다. IS 성능 문제가 있는지 여부를 알지 못해 조기에 과도하게 최적화하지 마십시오 ...

성능을 측정하고, 만약 그렇다면 참조하십시오.

WCF의 경우 통화 별 시나리오가 가장 적합하고 권장되는 시나리오입니다.이 방법은 상태가 좋은 서비스, 세션 또는 싱글 톤이있는 털이 혼란스럽지 않은 방식으로 작동하기 때문에 매우 효과적입니다.

관련 문제