none
使用Microsoft.VisualBasic.Devices.Network.UploadFile出現Access to the path 'xxx' is denied錯誤 RRS feed

  • 問題

  • 我使用了一支主控台應用程式  目的是用要從本機上傳檔案到網路共享磁碟

    程式碼如下

            static void Main(string[] args)
            {
                StreamWriter _FS = new StreamWriter("Temp.txt", false);
                try
                {
                    string _DumpFilePath = args[0].Replace(" ", "");
                    string _NetworkDevicePath = args[1].Replace(" ", "");
                    string _UserName = args[2].Replace(" ", "");
                    string _Password = args[3].Replace(" ", "");
    
    
                    _FS.WriteLine(string.Format("{0}    DumpFilePath:{1}  NetworkDevicePath:{2}  UserName:{3}  Password:{4}", DateTime.Now.ToString(), _DumpFilePath, _NetworkDevicePath, _UserName, _Password));
    
    
    
                    Microsoft.VisualBasic.Devices.Network _NetWork = new Microsoft.VisualBasic.Devices.Network();
                    _NetWork.UploadFile(_DumpFilePath, _NetworkDevicePath, _UserName, _Password);
                }
                catch (Exception ex)
                { 
                    _FS.WriteLine(string.Format("{0}    Error:{1}", DateTime.Now.ToString(), ex.ToString()));
                }
                _FS.Close();
            }

    這支程式主要是要搭配SVN的hook進行檔案備份並傳送到遠端  所以都是由bat檔來呼叫開啟

    目前遇到一個很怪異的問題  當SVN執行完任務觸發到這支程式時  會出現錯誤

    Error:System.Net.WebException: Access to the path '\\xxx\share\20140304_95.dump' is denied. ---> System.UnauthorizedAccessException: Access to the path '\\xxx\share\20140304_95.dump' is denied.

    但是如果是由自己寫的bat來執行  就能順利的移動檔案到目標網路空間

    確認過兩邊執行程式時帶入參數的路徑與帳密都是正確的  也有確認過網路資料夾的讀寫權限設定

    執行的bat檔內容也很簡單

    start /d "X:\svn_backup\" SVNBackup.exe "X:\svn_backup\20140304_85.dump" "\\xxx\share\20140304_85.dump" "administrators" "8500"

    實在沒什麼頭續要往哪查  想請問大家這該如何解決  請大家集思廣益提點一下  THX


    2014年3月4日 上午 08:45

所有回覆