2009-10-08 3 views
0

최근 다른 스레드 (Reed Copsey 에 호의적으로 응답 함)에서이 질문을 시작했지만 질문에 잘 답을하지 않았습니다.프로세스 잠금 코드 그림 필요

제 질문의 핵심은 얻고 자하는 데이터에 액세스 권한을 얻는 방법을 보여 드리겠습니다.

내가 코드 숨김에서, 내가 루프를 가지고, Page.aspx.cs을 가지고

:

  List<ServerVariable> files = new List<ServerVariable>(); 

      for (i = 0; i <= Request.Files.Count - 1; i++) 
      { 

        m_objFile = Request.Files[i]; 
        m_strFileName = m_objFile.FileName; 
        m_strFileName = Path.GetFileName(m_strFileName); 

       files.Add(new ServerVariable(i.ToString(), 
this.m_strFileName, "0")); 

      } 

      //CODE TO COPY A FILE FOR UPLOAD TO THE 
      //WEB SERVER 

      //WHEN THE UPLOAD IS DONE, SET THE ITEM TO 
      //COMPLETED 

      int index = files.FindIndex(p => p.Completed == "0"); 
      files[index] = new ServerVariable(i.ToString(), 
this.m_strFileName, "1"); 

은 "ServerVariable"유형 얻고 ID, 파일 및 완성을 설정합니다.

지금, 나는 (사용자에게 파일 업로드 "진행"을 표시해야 효과, 에 루프가 목록에 ServerVariable 항목을 추가 할 때 사이의 시간 때 1

0에서 완료 상태 변경

이제 (위에서 만든) 웹 서비스 메서드 "GetStatus()"가 JSON 문자열 ( JQuery를 통해)로 반환됩니다. 완료 상태가 0 인 파일은 여전히 ​​남아 있습니다. 진행 중일 때 이 1 인 파일이 완료됩니다.

내 질문 - GetStatus() 내부의 코드는 무엇입니까? 좋아? List **에 채워지는 List **를 쿼리하고 결과를 실시간으로 반환하는 방법은 무엇입니까? 값을 GetStatus()에서 반환하고 같은 프로세스의 잠금을 해제하는 동안 작업 프로세스 (ServerVariable 데이터 설정)를 잠글 필요가 있다고 알려졌습니다.

만약 내가 자신을 잘 설명했다면, 코드 예제 의 GetStatus() 논리를 이해할 수있을 것이다.

읽어 주셔서 감사합니다.

답변

0

멀티 스레딩 잠금 장치에 대한 링크는 this입니다.

개체를 읽기 및 쓰기로 잠글 필요가 있습니다.

관련 문제