2010-11-29 3 views
0

JavaScript의 ini 파일에서 activex 파일 시스템 객체를 사용하여 읽는 코드가 있습니다.javascript에서 scripting.filesystemobject 사용 및 잠긴 파일 확인

이것은 특히 효율적이지는 않지만 전체 파일을 배열로 읽고 변경 사항을 추가하고 다시 쓰는 작업입니다.

내가 겪고있는 문제는 다른 프로세스 인 C# XBAP 응용 프로그램이이 ini 파일 (getprivateprofilestring 사용)에서 읽는 것과 동시에 잠재적으로 JS에 쓰기를 시도 할 수 있다는 것입니다.

매번 전체 파일을 다시 쓰려고 할 때 파일이 잠겨 있거나 파일의 일부가 손상되어 파일이 손상되거나 완전히 삭제 된 경우 자바 스크립트가 실패합니다.

필자가 필요로하는 것은 파일이 자바 스크립트로 잠겨 있는지 확인하는 것입니다. 쓰기는 긴급하지 않으며 모든 읽기가 먼저 완료되도록하고 싶습니다.

어쨌든 파일에 액세스하는 두 가지 완전히 다른 방법을 동기화하는 것을 찾지 못하는 것 같습니다.

+0

JS 코드와 C#을 게시 할 수 있습니까? – powtac

+0

JS 측에서도 문제 없습니다. GetPrivateProfileString을 피하여 상대방을 수정하는 것을 고려하십시오. –

답변

1

try/catch을 사용할 수 있습니다. 추가 파일 (OpenTextFile([filename],8)을 열면 예외가 발생합니다. 파일을 쓰거나 저장하는 경우에도 마찬가지입니다 (파일이 잠긴 경우 에서 예외가 발생 함).

+0

그래, 그런 식으로 생각하고 있습니다. 문제는 파일이 이미 잘려서 그 시점까지 늦은 것 같습니다. 나는 파일을 먼저 추가하여 줄을 썼는지, 그리고 줄을 쓰려고 시도했는지, 내가 실패 할 경우 다음과 같은 쓰기 작업을 중단 할 수 있는지 궁금하다. –

+0

좋아, 불행히도 append는 실패하지 않는 것처럼 보일뿐, 보통 쓰기 만합니다. 파일의 특정 섹션 만 잠긴 것이 아닌 것으로 보입니다. getprivateprofile 문자열이 파일 잠금을 처리하는 방법을 잘 모르겠습니다. –

관련 문제