[筆記] 註冊到windows服務的執行檔使用的檔案路徑不能使用相對路徑??

  • 2070
  • 0
  • 2011-09-23

摘要:[筆記] 註冊到windows服務的執行檔使用的檔案路徑不能使用相對路徑??

一開始是用WCF包裝一個服務

這個服務會根據config引用的元件中的Method去執行


                IProcessItem pItemObject;
                pItemObject = (IProcessItem)Activator.CreateInstance(Type.GetType(pItem.Type));

                MethodInfo _MethodInfo = null;
                _MethodInfo = pItemObject.GetType().GetMethod(pItem.Method);
                dt = (DataTable)_MethodInfo.Invoke(pItemObject, new object[] { dt });

這個method就是前一篇提到的,

去抓檔來去頭去尾

在本機執行過console mode都沒問題就部署上server

註冊進windows服務,發現切檔的動作都沒處理

就直接執行執行檔是正常的,

這樣應該是設定的問題,查半天正想要改寫元件埋DEBUG時

想到會不會是抓檔不能用相對路徑

(想到asp.net 在2.0 compile好的dll是放在其他地方不是專案目錄,跟1.1不一樣)

就改成絕對路徑,程式就正常了0.0

 

解法參考:

(轉載) C#獲取執行程序所在的當前路徑的方法