2012-07-20 33 views
2

您好,我目前正在C#/肥皂/ PHP項目。 soap服務具有一個config.xml,其中包含某些選項,用於在soap服務和使用soap服務的c#程序中使用。閱讀肥皂中的XML配置文件

它正在讀取配置,如果我把它放在某個地方,而不是從配置文件的位置讀取它。僅供參考我的項目是在單聲道和windows下運行在Linux上。

我的soap服務運行在linux上,/srv/www/htdocs/mywebsite/mysoapservice/Service.asmx,config.xml位於此目錄中。

在windows上它的c:\inetpub\wwwroot\mysoapservice\Service.asmx和config.xml位於此目錄中。

當我在配置中讀取時,我沒有提供文件的路徑,我只是給它指定文件名​​3210,希望檢索asmx文件所在的文件。然而在Linux上,它試圖從根目錄獲取它,即配置文件位於/config.xml,並從那裏讀取,我不記得配置文件認爲它應該是的確切路徑,忘記做一個筆記但它在個人電腦內部的某個地方,而不是我正在運行服務的地方。

我試過使用Directory.getCurrentDirectory() + "config.xml"但這不起作用,在Linux上似乎認爲這是一個unc路徑,我應該以\ server \ share的形式使用它,我不知道它爲什麼認爲它的一個unc路徑,不記得在Windows上的錯誤。這會教會我不要記下東西。

我怎樣才能得到它來讀取該文件ASMX在同一目錄下的配置文件。

感謝您的幫助,您可以提供。

回答

1

我相信你想要做這樣的事情:

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

感謝您的幫助,偉大工程 – Boardy 2012-07-21 15:25:51