2013-02-08 70 views
1

我已經編寫了一個C#控制檯應用程序,它可以每天按計劃將備份從一臺服務器複製到另一臺服務器。如果我已經登錄到共享文件夾並且我的憑證是分層的,這完全可以工作,但是如果我的憑證沒有被輸入到源服務器的共享上,我的代碼中會出現錯誤。我需要做的是讓我的應用程序模擬一個登錄到我的源共享文件夾,所以我可以抓住該文件並將其移動到其目的地。C#將文件從一臺服務器複製到另一臺有權限的文件

public static void CopyNewestBackup() 
     { 

     string sourcePath = @"\\source"; 
     string targetPath = @"\\destination"; 

     FileInfo newestFile = GetNewestFile(); 
     string sourceFile = Path.Combine(sourcePath, newestFile.Name); 
     string destFile = Path.Combine(targetPath, newestFile.Name); 
     Console.Write("Copying " + newestFile.Name + " from " + sourcePath + " to " + destFile); 

     FileSystem.CopyFile(sourceFile, destFile, UIOption.AllDialogs); 
     //File.Copy(sourceFile, destFile, true); 
    } 

如何模擬登錄到服務器以獲取文件?

+0

你是從你的機器運行控制檯應用程序..?或者你有沒有在一臺真正的服務器上運行這個服務器,將這些文件複製到目標服務器上?你不應該使用模擬,你應該在目標機器上創建一個服務帳戶,並在你的應用程序中使用那些運行控制檯應用程序的NetWork Credentials – MethodMan 2013-02-08 13:24:17

+0

@DJKRAZE它在我的機器上運行,而不是在服務器上運行 – EvanGWatkins 2013-02-08 13:25:51

+0

那麼你有它..!如果你的網絡證書在目標機器上有效,你仍然應該能夠運行它。爲什麼你要使用模擬?在你的代碼中查看我不知道你是否正確地結合了路徑,你可以顯示路徑的樣子調試器.. – MethodMan 2013-02-08 13:28:22

回答

相關問題