2009-02-26 5 views
1

Windows 서비스 내에서 호스팅되는 WCF 서비스와 통신하는 웹 응용 프로그램이 있습니다. 가끔씩 WCF 서비스에 대한 요청이 1 분 후에 시간 초과되었음을 나타내는 EventLog 오류가 표시되기 시작합니다. 나는 그 오류를 이해한다. (비록 오랜 시간이 걸리 겠지만 반응은 수수께끼이다.) 정말 혼란이 오류는 이것이다 : // localhost를/서비스WCF의 이상한 TimeoutException

내가 닫기 호출 오전 : net.pipe하는 전송 세션을 설정하는 동안

열기 00:00:00 후 시간 초과() 내 모든 클라이언트 프록시에, 그래서 나는 열려있는 연결이 남아 있는지 99 % 확신합니다. 그래서 내 유일한 생각은 WCF 서비스의 MaxConnections가 3000으로 설정되어 있고 각 웹 응용 프로그램이 1000을 사용하도록 설정되어 있기 때문에 연결이 끊어 질 수도 있다는 것입니다. 내 직감은 모든 연결이 사용 중이라는 것입니다. 대기중인 동안 시간이 초과되었습니다. 그러나, 나는 그것을 (내가 알고있는) 증명할 방법이 없다.

이 호출은 절대 최대 값으로 1 초 또는 2 시간 (평균은 수백 밀리 초)이어야합니다.

  1. 위의 오류가 무엇 때문에 발생했는지 포인터를 알려 줄 수 있습니까?
  2. WCF 서비스가 무제한 연결을 처리 할 수있는 방법이 있습니까?

    2a. 그렇지 않은 경우, 최대 연결 수를 10,000과 같이 설정하는 경우의 파급 효과는 무엇입니까?

+0

이 문제점의 원인을 찾으셨습니까? 나는 같은 종류의 문제를 겪고있다. – pdiddy

답변

2
  1. 시도는 WCF 로깅을 설정하고 거기에 뭔가 더 도움이 찾을 수 있는지 확인합니다.
  2. 아니요. 2a. 모든 리소스 (phisical connections, handler threads, memory)를 다 써 버리면 아마 예외가 생길 것입니다. 또한 OS 자체에는 한계가 있으며 그 수가 10000 개보다 훨씬 적음을 확신합니다.