2012-03-06 44 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

相关问题