2013-11-27 4 views
0

IsolatedStorageFile.CopyFile() 문서는 실제로 이것에 대해 많이 말하지 않으므로 CopyFile() (및 해당 문제의 경우 DeleteFile()) 메서드가 Isolated Storage의 원자 적 동작인지 궁금합니다.IsolatedStorageFile.CopyFile()은 원자 적 조치입니까?

의미, CopyFile() 메서드가 반환되고 격리 저장소의 using() 블록이 실행되면 실제로 파일이 플래시 메모리에 복사되었는지 확인할 수 있습니까? 예를 들어 원본 파일을 삭제하는 등의 작업을 할 수 있습니까?

+0

"동기인가"라는 뜻입니까? 또는 "스레드가 안전합니까?" – McGarnagle

+0

"is it synchronous"입니다. 그러나 스레드 안전성에 대한 자세한 정보를 얻는 것도 흥미로운 일입니다. –

+3

먼저, "블록 사용"을 사용하는 경우, 파일이 열려 플래시에로드되어 닫힌 것을 안심할 수 있기 때문에 그 부분 만 리턴하면 GCed가됩니다. 둘째, 두 개의 격리 된 저장소 작업을 동시에 실행할 수 없습니다. 그렇지 않으면 전화에서 예외가 발생합니다. 그래서 그것은 또한 그들이 별개로 일어나고 있다는 표시 일 것입니다. 마지막으로, 이것은 테스트하기가 어렵지 않다. 그래서 나는 당신이 관심을 가지고 있다면 그것을 시도 할 것이다. 문제 체크 아웃을 계속한다면 격리 된 스토리지를위한 DLL http://anthonyrussell.info/postpage.php?name = 47 –

답변

0

IsolatedStorageFile.CopyFile은 동기식입니다.이 메서드를 실행 한 후에 예외가 throw되지 않으면 파일이 성공적으로 복사되었음을 의미합니다. 그런 다음 원본 파일을 안전하게 삭제할 수 있습니다.

IsolatedStorageFile.MoveFile을 직접 사용하여 파일 복사와 원본 삭제를 동시에 수행 할 수 있습니다.

관련 문제