windows service 之存取權限(有NetworkService和LocalSystem的區分)

來源:互聯網
上載者:User

標籤:分享   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的區分)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.