2010-03-10 5 views
2

클라이언트에서 13-14 회 비동기 프로세스 호출 후에 WCF 서비스가 중지되는 문제가 있습니다. 이것은 항상 발생합니다. 클라이언트는 모바일 JavaFX 앱입니다. 클라이언트뿐만 아니라 서버에서도 특정 오류가 출력되지 않습니다. 누군가가 조절 문제 일 수 있다고 제안했습니다.14 번째 호출에서 WCF 서비스가 응답하지 않습니다.

나는 10

<serviceThrottling maxConcurrentCalls="500" maxConcurrentSessions="500” /> 

(500)에 그래서, 바로, 10 개 이상의 호출을 수락 할 수 있어야 의미에서 호출 maxConcurrent 서비스 측의 .config 매개 변수를 설정 한? 그러나이 문제는 해결되지 않았습니다. 여전히 13-14 번째 프로세스 호출에 걸려 있습니다.

하나의 클라이언트 만이 웹 서비스에 연결하고 있습니다.

뭐가 잘못 됐니?

+0

대부분 호스트 프로세스의 스레드 풀에서 스레드가 부족합니다. –

답변

1

이것은 매우 쉽게 코드의 교착 상태로 인해 발생할 수 있습니다. 서비스가 잠기고 100 % 또는 CPU를 먹기 시작하면 죽은 자물쇠가 있습니다. 덤프 파일을 만들고 코드가 어디에 있는지 확인하십시오.

내 첫 WCF 앱과 동일한 문제가 발생했습니다. 사전에 로깅 코드가 동기화되지 않았는지 확인하지 못했습니다.


SvcTraceViewer은 당신이 당신의 전화를 수행 한 후 클라이언트를 닫 마십시오 힘든 WCF

+0

아니요, CPU 사용량은 2-5 % 정도로 매우 낮습니다. SvcTraceViewer를 사용해 보시고 다시 방문하겠습니다. 입력 재방송 주셔서 감사합니다 – cancelledout

+0

이것은 java의 덤프 파일입니다 http://www.mediafire.com/file/jzmmdiijm5m/CrashHang_Report__java_mar10_552pm.mht – cancelledout

+0

이것은 wcf 서버의 덤프 파일입니다 http://www.mediafire.com/ 파일/mmlimjb0zyz/CrashHang_Report__wcfserver.mht – cancelledout

4

을 파악 슈퍼 도움이된다? 이 문제가 발생했을 때 서비스를 닫지 않았으며 짧은 시간 후에 서비스가 열리지 않습니다.

편집 : 좋아, JavaFX =에 대해 아무것도 알지 못합니다. 아래 코드는 C#이며, 죄송합니다. 그러나 당신은 분명히 비슷한 것을 할 수 있습니다.

사용 중

WcfClient client = new WcfClient() 
// ... 
client.Close() 

또는

using(WcfClient client = new WcfClient()){ 
// ... 
} 
+0

답장을 보내 주셔서 감사합니다. 나는 순서대로 실행되어야하는이 방법들을 가지고있다. callOpen는() callRegister() callGetInfoIDC() // 이러한 이상과 호출됩니다 다시 callDeregister() callClose() callCleanUp() 무슨 일 callGetInfoIDC은() 동안 서버가 달려 있다는 것입니다 13 번째 또는 14 번째 시간에 클라이언트에 의해 호출됩니다. 귀하의 요점을 놓치면 수정하십시오. * 여기 혼란스러워. – cancelledout

+0

10 회의 통화 후에 등록 취소/닫기/정리를 수행 한 다음 새 연결을 열면 도움이됩니까? – Jens

+1

'using (....) '호출을 자제하십시오. 이 메서드를 사용하면 호출이 아직 완료되지 않은 경우에도 연결에서 처 리합니다. 이것은 더 많은 예외를 이끌 것입니다 ... – Chris

1

여기에 비슷한 문제 - 나는 하나 개의 프로세스에서 다른 로컬, 명명 된 파이프에 호출 응용 프로그램을 가지고있다.

전화는 코드에서 실제로 가볍습니다. 기본적으로 takex는 직렬화 가능 객체의 배열을 다른쪽에 대기열에 넣습니다. 때로는 중단됩니다. 후속 작업을 다시 시작합니다. 데이터가 손실되지는 않지만 데이터가 금융 데이터이기 때문에받는 앱에 자동 거래 시스템이 생겨 매우 경제적 인 문제가 발생할 수 있습니다. 아직 그것을 재현 할 수 없었습니다.

관련 문제