2013-01-21 84 views
2

我想從WCF服務讀取一個xml文件。 xml文件settings.xml與service exe位於同一文件夾中,並且該服務作爲Windows服務託管。如何從WCF服務讀取xml文件?

當服務客戶端訪問服務的exe在看system32文件夾下,並拋出文件未發現異常

C:\Windows\system32\Settings.xml 

下面是這是一個try catch塊和一個FaultException異常被拋出該代碼客戶端捕獲。

XmlSerializer serializer = new XmlSerializer(_appSettings.GetType()); 
      StreamReader sr = new StreamReader("Settings.xml", Encoding.UTF8); 
      _appSettings = (SpecialityFinishingSettings)serializer.Deserialize(sr); 
      sr.Close(); 

基本上我試圖讀取xml並將其反序列化成可用於服務的對象。

我該如何從服務中讀取此文件?

中的service使用InstallUtil.exe

+0

請張貼一些代碼,所以我們可以看到你想要什麼做。 – PeteH

+3

use - System.AppDomain.CurrentDomain.BaseDirectory +「Settings.xml」; – Anand

回答

2

的安裝問題是,「將Settings.xml」沒有找到一個文件。您需要指定完整路徑。您可以:

  • 使用絕對路徑
  • 存放在一個配置文件的路徑。此路徑將是一個您將打開文件的文件夾,然後可以將其附加到文件名。
  • 獲取應用從阿南德的建議運行路徑(System.AppDomain.CurrentDomain.BaseDirectory +「將Settings.xml」)