우리는 프로세스가 3 개 있고, 순서에 따라 특정 파일에 기록한다고 가정합니다. 프로세스가 파일을 쓰려고 할 때 (쓰기 중일 때), 다른 파일 2 프로세스가 문제가 발생하면 프로세스 순서를 제어하는 서버 프로세스를 추가하고 프로세스가 닫히면 이벤트가 발생하므로 프로세스가 닫힐 때이 이벤트에서 어떻게 소스 (파일 액세스)를 릴리스 할 수 있습니까? File.Release(FilePath);
파일에 대한 액세스 해제
편집 비슷해 :
쓰기는 다음과 같은 파일로 :
try {
if(!File.Exists(FilePath))
throw new Exception("File does not Exist.");
bool Clear = false;
using(StreamReader sr = new StreamReader(FilePath)) {
if(sr.ReadToEnd().Length > 1200)
Clear = true;
}
if(Clear)
using(StreamWriter sw = new StreamWriter(FilePath, false)) {
sw.WriteLine(Text);
sw.Flush();
} else
using(StreamWriter sw = new StreamWriter(FilePath, true)) {
sw.WriteLine(Text);
sw.Flush();
}
} catch(Exception ex) {}
은 파일에 쓰는 코드를 보여줍니다. 기본적으로 파일에 쓸 때 쓰기 권한이있는 파일에 대한 핸들을 엽니 다. 아무도 그 파일에 쓸 수 없습니다. 하지만 일단 쓰기가 끝나면 핸들을 해제해야합니다 (일반적으로 Dispose 또는 Close를 호출하거나 코드를'using '블록에 넣음). – oleksii
@oleksii I Update it 질문을 참조하십시오. – Saeid
Oleksii가 말했듯이 "using"이라는 키워드를 사용하십시오. 그것은 암묵적으로 일을 끝낼 때 핸들을 유지하고 처분 할 Idisposable을 의미합니다. 그게 최선의 방법입니다. 이는 데이터베이스 연결에 사용 된 것과 동일한 f}으로 사용됩니다. – King