2012-04-23 1 views
3

에 SendTimeout 값을 증가시키고 내가 할 수 아래WCF 서비스는 요청 또는 내가 무작위로이 문제를 갖는 바인딩

... 추가/WCFServiceClient를 사용하여/업데이트를 삭제 한 다음 내가 오류가 발생하고 무작위로 발생하는 나는 여전히 같은 내가 사용하고있는 클라이언트 코드 ...

using(WCFServiceClient client = new WCFServiceClient()) 
{ 
    //More codes here 
    Employee emp = new Employee() 
    emp = client.GetEmployeeDataById(123); //<<<ERROR  
} 

2 분 제한 시간을 증가 있지만 :

<binding name="WSHttpBinding_IEmployeeService" maxReceivedMessageSize="200000" sendTimeout="00:02:00" > 

// 오류 :

00:00 : 59.9990000 이후에 응답을 기다리는 동안 요청 채널 시간이 초과되었습니다. Request에 대한 호출에 전달 된 제한 시간 값을 늘리거나 Binding에서 SendTimeout 값을 늘리십시오. 이 작업에 할당 된 시간은 더 긴 제한 시간의 일부일 수 있습니다.

어떤 도움이 필요합니까? 나는 많은 게시물을 보았지만 아무런 수정이나지도가없는 것 같습니다.

+0

요청할 때 실제 서비스를 디버깅 해 보셨습니까? 또한 시간 초과가 증가하더라도 클라이언트에서 서버를 만들 수 있는지 확인하십시오. – stephenl

+0

내 서버 서비스에는 app.config가 없습니다. 만들 필요가 있습니까? –

+0

클라이언트가 연결하는 서비스는 클라이언트가 상호 작용하는 계약 및 바인딩 매개 변수를 정의합니다. 서버가 제한 시간을 x로 설정하고 클라이언트가이 제한 시간을 설정하면 서버 설정이 사용됩니다. – stephenl

답변

1

이 할 수 바인딩 기본 (간체 설정)를 따기 수 있습니다 케이스를 제거하기 위해 명시 적으로 바인딩 선택을 시도 할 수 있습니다. 폐기하기 위해 호출 문 결과를 "사용"using 문 http://msdn.microsoft.com/en-us/library/aa355056.aspx

는 C#과

방지 문제(). 이것은 네트워크 오류가 발생할 때 예외를 throw 할 수있는 Close()와 동일합니다. Dispose()에 대한 호출이 "using"블록의 닫는 중괄호에 암시 적으로 발생하기 때문에이 예외 소스는 코드를 작성하고 코드를 읽는 사람들 모두가 알아챌 수 없을 것입니다. 이것은 응용 프로그램 오류의 잠재적 인 원인을 나타냅니다.

0

당신은이 링크를 읽은 후 내 문제를 해결하기 위해

new WCFServiceClient ("WSHttpBinding_IEmployeeService") 
+0

나는 당신이 제안한 것처럼 명시 적 바인딩을 시도했지만, 여전히 동일하고 나는 내 애플 리케이션을 탐색 몇 분 후에 오류가 발생합니다. –

+0

"내 앱 찾아보기"의 의미를 조금 더 설명 할 수 있습니까? –

+0

글쎄, 내 말은 내가 저장, 가져 오기, 삭제 등의 방법을 많이 제공하는 서비스를 소비하고 있다는 것입니다 .... 내 클라이언트 애플 리케이션에서 나는 그 서비스를 사용하고 모든 것이 브라우징의 몇 분 후에 예상대로 잘 작동합니다 애플 리케이션 (서비스를 소비하고있다) 그러면 내가 원래 게시물에 게시 된 오류가 발생합니다. 나는 그것을 이해할 수 있기를 바랍니다. –

0

내가 얼마나 큰 데이터를 얻었는지는 알 수 없지만 receiveTimeout은 어떨까요?

+0

10 문자 미만으로 테스트했습니다. –