2012-03-29 4 views
0

내가 WCF 응용 프로그램을 만드는 오전하는,WCF의 명명 된 파이프 - 시간 초과 오류

  • 클라이언트는 64 비트 플랫폼에 내장되어
  • 서버가 명명 된 파이프를 사용하는 86 비트 플랫폼
  • 통신의 경우 둘 사이에 내장되어 있습니다 제본.

서버 :이 서버와 통신의 WinForm 응용 프로그램이며 요청 [선택 쿼리 SELECT * FROM TABLE_NAME]

를 보냅니다는 MS Access 데이터베이스에 이야기하고 실행 명령 클라이언트의 결과를 전송하는 콘솔 응용 프로그램입니다
  • 클라이언트는 서버의 함수를 호출 [예를 들어 : 공개 목록 푸 (문자열 쿼리)]

문제 : 쿼리가 작은 데이터와 서버 측에서 실행하면 다음 데이터가 전송되어 [6000 행의 말] Lis 형식의 클라이언트 t 문제 없습니다. 데이터의 크기가 커지면 (예 : 10,00,000 행) 클라이언트는 아래에 설명 된 오류를 제공합니다.

오류 : 파이프가 닫혀있어 작업을 완료 할 수 없습니다. 이것은 파이프의 다른 쪽 끝에있는 응용 프로그램이 종료되어 발생할 수 있습니다.

무엇이 문제일까요?

누군가 설명이 더 필요하면 답장을 보내주십시오. 아래 링크

-use 코드를 찾을 수 http://www.c-sharpcorner.com/Forums/Thread/166598/wcf-namedpipe-binding-time-out-error.aspx

서비스와 클라이언트 (I 어쨌든 생각?) 동일한 물리적 시스템에서 호스팅되는
+3

연결하지 마십시오 코드 :

예 일단 사람들이 죽으면 도움이됩니다. 질문에 관련 코드를 복사하여 붙여 넣으십시오. – Robaticus

답변

0

명명 된 파이프 바인딩에만 사용할 수 있습니다 - 타임 아웃 값은 무엇인가 있어?

+0

- 코드를 찾으려면 아래 링크를 사용하십시오. http://www.c-sharpcorner.com/Forums/Thread/166598/wcf-namedpipe-binding-time-out-error.aspx –

+0

응용 프로그램이 동일한 실제 컴퓨터에서 실행되고 있습니다. . 64 비트와 86 비트를 사용하는 응용 프로그램 만 빌드됩니다. –

1

대부분의 아마 당신은 쿼터를 늘려야 줘야 및 버퍼는 서버와 클라이언트 측에 모두 크기 : ... 링크가 죽고하지

<netNamedPipeBinding> 
    <binding name="Binding1" 
      maxBufferSize="655360" 
      maxReceivedMessageSize="655360"> 
     <readerQuotas maxDepth="2147483647" 
      maxStringContentLength="2147483647" 
      maxArrayLength="2147483647" 
      maxBytesPerRead="2147483647" 
      maxNameTableCharCount="2147483647" /> 
    </binding> 
    </netNamedPipeBinding>