XML 매니페스트에 쓰는 사용자 지정 응용 프로그램 (소스가 우리가 제어 할 수없는 사용자)의 진행 상황을 모니터링하고 있습니다. 때로는 매니페스트 파일에 쓸 수 없기 때문에 응용 프로그램이 멈췄습니다. File.Close를 사용하여 파일 핸들을 명시 적으로 닫고 Using Blocks에서 파일 변수를 만드는 방법으로 추적을 다루고 있습니다. 그러나 어떻게 든 그것은 계속 일어나고 있습니다. (우리의 응용 프로그램은 다중 스레드이며 최대 세 개의 스레드가 파일에 액세스하고있을 수 있습니다.) 또 다른 흥미로운 점은 응용 프로그램에서이 항목이 항목, 항목 삭제, 항목 완료의 세 가지 다른 이벤트로 업데이트된다는 것입니다. 이벤트 (항목 완료). 내 코드는 여기파일 차단 방지 방법
using (var st = new FileStream(MenifestPath, FileMode.Open, FileAccess.Read))
{
using (TextReader r = new StreamReader(st))
{
var xml = r.ReadToEnd();
r.Close();
st.Close();
//................ Rest of our operations
}
}
다음 링크가 도움이되기를 바랍니다. http://stackoverflow.com/questions/119548/problem-in-writing-to-single-file-in-web-service-in-net – pradeeptp
정확히 할 일 - 잠금을 사용하므로 스레드가 시도하지 않습니다. 같은 시간에 파일에 액세스 할 수 있습니다. 동일한 파일에 여러 스레드가 로깅되어있을 때 나를 위해 일했습니다. 파일 액세스를 관리하기위한 라이브러리를 만들고 당신은 황금색입니다. – ScottCher