2012-07-20 3 views
2

안녕하세요, 현재 C#/soap/php 프로젝트 작업 중입니다. 비누 서비스에는 비누 서비스에서 사용하기위한 특정 옵션과 비누 서비스를 사용하는 C# 프로그램이 들어있는 config.xml이 있습니다.비누로 XML 설정 파일 읽기

구성 파일이있는 위치에서 읽는 대신 특정 위치에 넣으면 구성을 읽는 중입니다. 참고로 프로젝트는 윈도우뿐만 아니라 모노에서도 리눅스에서 실행됩니다.

리눅스에서 내 비누 서비스가 /srv/www/htdocs/mywebsite/mysoapservice/Service.asmx이고 config.xml이이 디렉토리에 있습니다.

윈도우의 경우 c:\inetpub\wwwroot\mysoapservice\Service.asmx이고 config.xml은이 디렉토리 내에 있습니다.

config에서 읽을 때 파일 경로를 지정하지 않고 파일 이름을 config.xml으로 지정하면 asmx 파일이있는 파일을 검색 할 수 있습니다. 그러나 리눅스에서 그것은 루트에서 가져 오기 위해 노력하고 있습니다. 즉, 설정 파일은 /config.xml에 있고 거기에서 읽습니다. 설정 파일이 있어야한다고 생각하는 정확한 경로를 기억하지 못합니다. 메모를 만드는 것을 잊었습니다. 그것의 안에서 어딘가에서 내가 서비스를 달리게하고 있지 않는 PC의 깊은 곳에서.

Directory.getCurrentDirectory() + "config.xml"을 사용해 보았지만 리눅스에서 unc 경로라고 생각하는 것 같습니다. \ server \ share 형태로 사용해야한다고 생각하는 이유를 모르겠습니다. 그 unc 경로, 윈도우에서 오류를 기억할 수 없습니다. 그것은 내가 물건에 대한 메모를하지 않도록 가르쳐 줄 것입니다.

나는 그것이 ASMX 파일에있는 같은 디렉토리에서 config 파일을 읽는 방법을 얻을 수 있습니다. 당신이 제공 할 수있는 어떤 도움

감사합니다.

답변

1

난 당신이 뭔가하고 싶은 있다고 생각 : 당신의 도움에 대한

string applicationPath = HttpContext.Current.Server.MapPath(null); 
    string configPath = Path.Combine(applicationPath, "config.xml"); 
+0

감사합니다, 좋은 작품 – Boardy