Microsoft MVP성태의 닷넷 이야기
비동기 DB 쿼리관련 질문 [링크 복사], [링크+제목 복사],
조회: 17058
글쓴 사람
채동민 (dm72.chae at samsung.com)
홈페이지
첨부 파일
 

늘 빠른 답변에 감사드립니다.

현재 사이트 사정상 클라이언트측 inactivity timeout을 10초로 변경해 두었는데 그런 상태에서 수백만건의 데이터를 쿼리할 경우에
(Quotas 상의 제약을 지켜도) 실제DB에서 데이터를 가져오는 동안 블러킹 되어서 인지 WCF채널이 faulted(inactivty timeout때문) 상태가
되는 듯(?) 합니다.

그래서 서비스 쪽에서 아래와 같이 비동기적으로 처리하도록 해보았는데 여전히 채널에서 문제를 발생시키더군요.
아시다시피 하나의 서비스 함수내 에서 결과를 리턴 해주고자 이벤트 방식보다는 폴링방식으로 시도해 보았는데 여전히 채널이 망가집니다.

sleep(0)를 주는 대신에 WCF 채널이 비활성되지 않도록 서비스쪽에서 취할수 있는 다른 방법이 없을까요?
제어권만 놓아주면 WCF 채널이 유지될 것으로 추측해 보았는데 그건 아닌듯하군요.

DAC
{
   List<AlarmMessageHistoryT> logs = new List<AlarmMessageHistoryT>();
   SqlDataReader reader = agent.asyncExecuteReader(query);
   while (reader.Read())
   {
      AlarmMessageHistoryT item = new AlarmMessageHistoryT();
      fromReader(item, reader);
      logs.Add(item);
   }
   return logs;
}


public SqlDataReader asyncExecuteReader(string strQuery)
{
  CreateConnection();
  SqlDataReader reader = null;
  try
  {
    SqlCommand cmd = new SqlCommand(strQuery, _connection);
    ...    
    _connection.Open();
    IAsyncResult ar = cmd.BeginExecuteReader(CommandBehavior.CloseConnection);
    while (!ar.IsCompleted)
    {
      System.Threading.Thread.Sleep(0);
      //System.Windows.Forms.Application.DoEvents();
    }
    reader = cmd.EndExecuteReader(ar);
    ...
  }
  catch (Exception ex)
  {
  }
  finally
  {
    CloseConnection();
  }
  return reader;
}








[최초 등록일: ]
[최종 수정일: 6/10/2010]


비밀번호

댓글 작성자
 




... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...
NoWriterDateCnt.TitleFile(s)
668정성태6/30/200715993    답변글 [답변]: 안녕하세요^^
663모름이6/19/200714259Microsoft.Framework 에서 OLE DB 사용하려면.. [1]
664모름이6/20/200715318    답변글 [추가질문]: 다른 OLE DB 를 사용하려면..
662조성택6/13/200715687C#에서 string클래스.. [1]
660신동열6/11/200717059ClickOnce 업데이트시 이전 버젼 제거오류 [1]
659한귀순6/11/200718167윈폼 프로그램 및 디자인. [2]
661한귀순6/12/200715512    답변글 [추가질문]: 윈폼 프로그램 및 디자인. [3]
657정해봉6/8/200726635요청 시간 초과 오류 [2]
655이방은5/28/200716878성태님 UML 도구 뭐 쓰십니까??? [1]
654임정훈5/23/200715596카드스페이스 관련질문
658정성태6/9/200716294    답변글 [답변]: 카드스페이스 관련질문 [1]
653사다수스5/22/200737310아래한글(HwpCtrl) ocx 메모리 릭 문제입니다. [4]파일 다운로드1
645송원석5/15/200718633ASP 의 ByVal 과 ByRef 특성
646정성태5/15/200718422    답변글 [답변]: ASP 의 ByVal 과 ByRef 특성
647송원석5/16/200718737        답변글 [답변]: [답변]: ASP 의 ByVal 과 ByRef 특성 [1]
648정성태5/16/200717409            답변글 [답변]: [답변]: [답변]: ASP의 ByVal과 ByRef 특성 [1]
649장윤태5/16/200716577                답변글 [답변]: [답변]: [답변]: [답변]: ASP 의 ByVal 과 ByRef 특성
650정성태5/16/200714900                    답변글 [답변]: [답변]: [답변]: [답변]: [답변]: ASP의 ByVal과 ByRef 특성 [2]
643해운대끓...5/15/200713994Singleton 패턴 테스트중 하나의 윈폼만 열기 오류파일 다운로드1
644정성태5/15/200715049    답변글 [답변]: Singleton 패턴 테스트중 하나의 윈폼만 열기 오류 [1]
642조성택5/10/200715821스레드와 WinINet? [1]
641한귀순5/8/200714539Code Obfuscate 에 관한 질문. ^^ [2]
640박희진5/7/200714400스마트 클라이언트에서 ActiveX 브라우저 컨트롤을 사용한 경우 javascript 문제 [1]
639김재영5/3/200721764webBrowser클래스에서 띄워지는 Javascript 오류 다이얼로그를 감지할 수 있습니까? [2]
638최민규4/29/200714931SmartPhone / PDA 등에서의 .NET Smartclient [1]
636라이프가드4/27/200715867Insert 오류입니다. CLOB ........ [1]
... 61  62  63  64  65  66  67  68  69  70  71  72  73  74  [75]  ...