为什么我无法使用ASP.NET应用程序在Web服务器上创建文件?

时间:2014-06-17 08:46:28

标签: c# asp.net file process exe

.NET应用程序,我想要执行一个exe。

对于这个exe:

此exe文件是一个显示许可用户的程序。

我使用visual studio 2010在我的开发vm上测试它并且它可以工作但是如果我将它部署在我的网络服务器上的iis7上它就不起作用了。错误是:

  

错误:无法创建qrun.inf文件

有什么问题?为什么应用程序无法创建文件?

这是我的代码:

Web.Config

...
<setting name="LSDYNA_CMD" serializeAs="String">
        <value>~\\exe\\lstc_qrun.exe -s lwserv-lic -R</value>
      </setting>
...

exe在我的exe文件夹中

我在这里得到了值:

string cmd = Properties.Settings.Default.LSDYNA_CMD;
cmd = Server.MapPath(cmd);

string output = ExecuteCommand(cmd);
...

以下是ExecuteCommand(..)方法

public static string ExecuteCommand(string command)
{
    int exitCode;
    ProcessStartInfo processInfo;
    Process process;

    try
    {
        processInfo = new ProcessStartInfo("cmd.exe", "/c " + command);
        processInfo.CreateNoWindow = true;
        processInfo.UseShellExecute = false;
        processInfo.RedirectStandardError = true;
        processInfo.RedirectStandardOutput = true;

        using (process = Process.Start(processInfo))
        {
            string output = process.StandardOutput.ReadToEnd();
            exitCode = process.ExitCode;

            return output;
        }
   }
   catch (Exception ex)
   {
       return "error: " + ex.Message;
   }
}

我直接在Web服务器上尝试它并获取列表(O.o)我打开了一个cmd并在其中创建命令。

我需要帮助我不知道如何做到这一点:(

1 个答案:

答案 0 :(得分:0)

在您的文件夹上设置写作权限,如下所示:IIS AppPoolIdentity and file system write access permissions

您可以在ASP.NET项目中创建新文件夹并将exe文件放在那里。