2010-05-05 4 views
0

내가 netNamedPipeBinding 사용하고 내 서비스 방법은 아무것도 (void)을 반환하지 않습니다,하지만 그들은 시간 제한 :WCF에서 시간 초과를 피하는 방법은 무엇입니까?

TimeoutException을 "오픈 작업이 0시 1분 0초의 할당 된 제한 시간 내에 완료되지 않았습니다에 할당 된 시간을. 이 작업은 더 긴 타임 아웃의 일부일 수 있습니다. "

서버 스택 추적 : System.ServiceModel.Channels.ServiceChannel.OnOpen에서 System.ServiceModel.Channels.CommunicationObject.Open (시간 범위 제한 시간) 에서 System.ServiceModel.Channels.ClientFramingDuplexSessionChannel.OnOpen (시간 범위 제한 시간) 에서 (System.ServiceModel.Channels.ServiceChannel.EnsureOpened에서 System.ServiceModel.Channels.ServiceChannel.CallOnceManager.CallOnce (타임 아웃 시간 범위, CallOnceManager 캐스케이드) 에서 System.ServiceModel.Channels.CommunicationObject.Open (타임 아웃 시간 범위)에서의 시간 범위 초과) (TimeSpan 시간 초과) 에서 System.ServiceModel.Channels.ServiceChannel.Call (String 동작, 부울 값 oneWay, ProxyOperationRuntime 작업, Objec t [] 기능이 System.ServiceModel.Channels.ServiceChannelProxy.Invoke에서 [] 아웃, 타임 아웃 시간 범위) System.ServiceModel.Channels.ServiceChannelProxy.InvokeService (methodCall을 IMethodCallMessage, ProxyOperationRuntime 동작)에 개체 (iMessage를 메시지)

System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke에서 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (iMessage를 reqMsg, iMessage를 retMsg) 에서 (MessageData & msgData, INT32 타입)

[0]에서 예외 재 throw

이 문제를 피하려면 서비스를 OneWay 작업. 그러나 타임 아웃은 여전히 ​​발생합니다. 나는 그것이 내 문제를 해결할 것으로 예상했다. netMsmqBinding은 그러한 타임 아웃을 피할 수있는 유일한 것입니까?

나는 또한 별도의 스레드에서 모든 처리를 시도 했으므로 서비스는 성공하지 못해 이전에 연결을 끊을 수 있습니다.

+0

나는 WCF에 많은 시간 초과 문제를 겪었습니다. 그래서 다시 asmx로 전환하기로 결정했습니다. 아마 .net 4.로 업그레이드를 시작할 수 있습니다. 위장이 있다면 WCF 개선이 많이 있다고 들었습니다. –

+0

@JL WCF가 잘 작동합니다. 여기서 문제는 서비스가 전혀 없을 정도로 많은 연결이 있다는 것입니다. 그래서 전화 수를 줄이기 위해 클라이언트를 수정했습니다. –

답변

1

연결 시간 초과라고 생각합니다. 그래서 바인딩이 그것에 역할을해서는 안됩니다. 서비스가 호출을 받아 들일 수있는 문제가있을 수 있습니다. 어떻게 배치 했습니까? 아니면 서버 측에 문제가 있습니까? 로깅이나 추적을 할 수 있습니까? tracelistener는 아마도 켜져있을 수 있습니다.

+0

여기에 문제는 서비스를 처리 할 수없는 많은 연결이 있다는 것입니다. 그래서 전화 수를 줄이기 위해 클라이언트를 수정했습니다. –

+0

연결 수가 증가하지 않고 네트워크에서 감당할 수없는 경우 스로틀을 사용하여 최대 동시 인스턴스를 처리하고 나머지를 대기열에 보관할 수 있습니다. – Kangkan

+0

단일 인스턴스를 사용합니다. –

관련 문제