2011-03-17 4 views
0

기본적으로 저에게 암호화를 하루에 네 번 수행하고 XML 파일에 암호화를 작성하는 기능이 있습니다. 이제 Dev, QA, ITE 및 PROD라는 4 개의 지역이 있습니다. DEV, QA, ITE에서 오류가 발생하지 않았지만 PROD에서는 이상한 일들이 일어나고 있습니다. 코드가 실패하는 첫 번째 예외는이이 비정상적인 XML 동작이 발생하는 이유

Invalid XML document, The document does not have a root element.. at System.Xml.XmlDocument.Save(String filename)

이었다 너무이 예외를 가지고 :

The process cannot access the file 'configfile.xml' because it is being used by another process. at System.IO.__Error.WinIOError(Int32 errorCode, StringmaybeFullPath)at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy)at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at System.Xml.XmlDocument.Save(String filename) 

나는이 동시 요청으로 인해 일어나고있는 느낌이 듭니다. 사용 된 프로그래밍 언어는 ASP.NET 2.0의 C#입니다.

누군가 나를 밝힐 수 있습니까?

+0

파일 작업 방법에 대한 코드 샘플을 게시 할 수 있습니까? –

+0

죄송합니다. 친구는 코드를 게시 할 수 없습니다. 엄격한 규칙 – gizgok

+0

회사 코드를 포함하지 않고 문제가 보이는 한 더미 이름을 사용할 수있는 별도의 프로젝트에서 문제를 재현 할 수 있습니까? –

답변

1

"다른 프로세스에서 사용중인 파일"예외는 동시 액세스를 시도 할 때까지 확실합니다 (현재 프로세스에서 발생했을 수 있음).

Process Explorer 여기서 도움을받을 수 있습니다. 파일 이름을 검색하여 프로세스가 파일을 처리하는지 확인하십시오.

XML 오류와 관련하여 XML은 "잘 형성됨"또는 XML이 아닙니다. 그리고 그것은 정확히 하나의 루트 요소를 갖는 것을 의미합니다.

이 잘 형성 :

<root> 
    Stuff 
</root> 

하지 XML :이 문서 규칙을 깰 수로드 "XML의 파편"에 대한 .NET 내에서 제한된 기능이 있지만,이 삽입 정말

<root1> 
    Stuff 
</root> 
More stuff 

XML 규칙 대신 이 아니고이 아닌 완전한 문서로 변환하십시오.

관련 문제