2017-05-09 6 views
0

IP 12.3.4.56을 사용하는 서버에서 내 응용 프로그램을 호스팅하고 동일한 네트워크에서 IP 12.3.4.57을 사용하는 다른 서버에 데이터 저장소를 상주시킵니다.동일한 네트워크의 한 서버에서 다른 서버로 XML 파일을 읽음

내 데이터 저장소 서버에서 응용 프로그램 서버로 XML 파일을 읽고 싶습니다. 실행 프롬프트에서 "\\ 12.3.4.57 \ ABC \ DEF \"를 실행하면 두 서버 모두에 올바른 폴더가 열립니다. 나는 모든 사람들에게 폴더에 대한 공유 액세스도 읽기/쓰기 권한을 부여했습니다.

아래 코드를 사용하여 응용 프로그램 서버에서 파일을 읽으려고하면 오류가 발생합니다.

string XMLFilePath = "\\12.3.4.57\ABC\DEF\dir.xml"; 
XmlDocument DirDoc = new XmlDocument(); 
DirDoc.Load(XMLFilePath); 

오류 : 사용자 이름 또는 비밀번호가 잘못되었습니다.

아래 코드를 사용하여 데이터 스토어 서버에서 응용 프로그램 서버로 파일을 복사하려고 할 때 동일한 오류가 발생했습니다.

string sourceFile = "\\12.3.4.57\ABD\DEF\Test123 (26).pdf"; 
string Folder = HttpContext.Current.Server.MapPath("~/SavedPDFs"); 
string destPDFFile = string.Concat(Folder, "Test123 (26).pdf"); 
System.IO.File.Copy(sourceFile, destPDFFile, true); 
+0

처럼 보일 것입니다. –

+0

안내해 주셔서 감사합니다. 이 문제를 해결하려면 어떻게해야합니까? 사칭이 아닌가? – Ronak

+0

이 코드를 실행하는 사용자는 대상 컴퓨터의 사용자 여야합니다. – Mahdi

답변

0

난 당신이 "허가"문제를 일으키는 백 슬래시를 탈출하는 것을 잊고 있다고 생각합니다.

코드는이 파일 보안 질문이 아닌 프로그래밍 질문처럼 들리는이

string XMLFilePath = @"\\12.3.4.57\ABC\DEF\dir.xml"; // note the leading @ sign 
XmlDocument DirDoc = new XmlDocument(); 
DirDoc.Load(XMLFilePath); 


string sourceFile = @"\\12.3.4.57\ABD\DEF\Test123 (26).pdf"; // note the leading @ sign 
string Folder = HttpContext.Current.Server.MapPath("~/SavedPDFs"); 
string destPDFFile = string.Concat(Folder, "Test123 (26).pdf"); // I assume that the Folder variable will have the frontslash at the end 
System.IO.File.Copy(sourceFile, destPDFFile, true);