2012-03-06 43 views
0

我正嘗試使用Azure Web角色運行簡單的可執行文件。使用Azure Web角色從本地存儲運行可執行文件

  • 可執行文件存儲在Web角色的本地存儲中。
  • 可執行文件運行後會生成一個log.txt文件。

這是我使用運行可執行文件的方法:

public void RunExecutable(string path) 
    { 
     Process.Start(path); 
    } 

其中,路徑是localStorage.RootPath + "Application.exe"

我現在面臨的問題是,當我打開本地存儲文件夾中的可執行文件那裏沒有log.txt文件。

我已經測試過可執行文件,如果手動運行它,它會生成log.txt文件。

任何人都可以看到問題嗎?

回答

1

嘗試爲流程設置顯式的WorkingDirectory ...我想知道是否正在創建log.txt,而不是您期望的位置。 (或者應用程序試圖創建log.txt的,但失敗,因爲該目錄的權限,它試圖在創建它。)

+0

我想保持本地存儲爲工作目錄,我想然後上傳日誌文件到一個blob存儲容器。 – Sami 2012-03-07 00:57:34

+2

太好了。那你應該使用它。這不會是默認的工作目錄。有關如何設置工作目錄,請參閱http://stackoverflow.com/questions/114928/net-process-start-default-directory。 – smarx 2012-03-08 00:55:08

+0

謝謝,完美的工作,我認爲工作目錄是應用程序的目錄。 – Sami 2012-03-08 16:42:15

1

如果遠程桌面連接實例,你能不能找到創建的文件E:\ approot \文件夾?正如史蒂夫說,使用WorkingDirectory的過程中會解決這個問題

可以使用Environment.GetEnvironmentVariable(「RoleRoot」)的URL構建您的應用程序根

+0

感謝您的回覆,我不熟悉的工作目錄,你可以請解釋如何分配過程中的工作目錄。我會使用Directory.SetCurrentDirectory嗎? – Sami 2012-03-07 15:21:15

相關問題