標籤:分享 toolbar tool har 通過 htm origin 區域網路 archive
最近寫了一個關於從區域網路的算機上下載檔案的winodws service,最初認為應該沒什麼大的問題。通過本地的調試也沒發現問題。但是當我把程式發布後探索服務報錯“訪問路徑被拒絕”,我的第一感覺,肯定是網路檔案夾存取權限問題。那好吧,就用個最傻的方法把檔案夾的使用權限設定成everyone.但是,我把服務跑起來後發現根本就不理你,還是報同樣的錯誤。難道是下載檔案的模組出錯了?後來我把下載模組放到一個控制台程式和一個web頁面中,都順利通過。真是搞不懂,後來到網上搜一下看到思歸老大的回複,是 windows service 的帳戶沒有許可權訪問網路資源。於是,我把服務的帳號設定為NetworkService,在調試果然ok了。老大就是老大,厲害!但是又有了新的問題,我的寫服務日誌的功能失效了。原因在哪呢?是應為我的原來的service 帳號是LocalSystem,service 可以找到本地檔案“C:\DownLoadFileLog.txt",
private void AddTextLine(string line)
{
try
{
FileStream fs = new FileStream(@"C:\DownLoadFileLog.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine(line + "\r\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();
}
catch (Exception ex)
{
}
}
而現在我把它改為NetworkService,它當然不知道C:\DownLoadFileLog.txt 在那裡了。那把它改成你的網路目錄並設定為共用就ok了!
如”//192.168.8.188/share/DownLoadFileLog.txt/“。
http://www.cnblogs.com/peak-weng/archive/2008/07/29/1255485.html
windows service 之存取權限(有NetworkService和LocalSystem的區分)