我剛剛在C#2010中編寫了一個測試服務。在OnStart方法中,我打開C:驅動器根目錄中的XML文檔,解析它並寫出另一個XML文件也在C:驅動器的根目錄中。C#服務不會寫入XML
當我安裝服務並啓動它時,im告訴它自動停止。輸出XML文件已創建,但爲空。我以本地系統帳戶運行該服務。
誰能告訴我爲什麼沒有內容被寫入?
感謝,
編輯(包括對的OnStart代碼)...
protected override void OnStart(string[] args)
{
String win32ClassName = "";
String nodeSubkeyName = "";
List<String> propertyList = new List<String>();
List<String> propertyListQuery = new List<String>();
XmlTextReader reader = new XmlTextReader("C:\\hwin.xml");
XmlTextWriter writer = new XmlTextWriter("C:\\hwout.xml", null);
writer.WriteStartDocument();
writer.WriteComment("Asset hardware Inventory for " + System.Environment.MachineName);
writer.WriteStartElement("hardware");
上面的代碼甚至不寫的輸出XML文件的開頭的要素,但它確實創造空文件,所以懷疑它有權這樣做。也許閱讀輸入文件是問題?我幾乎不知道本地服務帳戶的工作原理!
所以它實際上寫入文件到磁盤?但它是空的..很奇怪! – iwayneo
猜你已經用WriteEndElement關閉了WriteStartElement,並且在完成後關閉了寫入器。 – Rajesh
我認爲這是創建文件的權利問題。發佈你的代碼的一小部分,也許我們可以幫你 – h1ghfive