批处理文件在服务器中不起作用但在本地工作

时间:2014-11-20 05:26:04

标签: c# asp.net batch-file iis server

我在asp.net网站上创建了一个批处理文件,它在本地系统中运行没有任何问题。在我将其上传到我的网站的服务器(共享服务器)后,它无法在远程环境中工作。

以下是我收到的错误Server Error in '/' Application

的屏幕截图

这是我用来测试在服务器上运行批处理的代码。

    string path = Server.MapPath("~/SourceCode/Jsil");
    Response.Write(path+"<br>");
    string batpath=Server.MapPath("~/Dir.bat");
    string framework = Server.MapPath("~/SourceCode/v4.0.30319");
    string vscompiler = @"\csc.exe /t:exe /r:JSIL.dll;JSIL.Meta.dll Program.cs";
    string full = framework + vscompiler;
    Response.Write(full);
    StreamWriter file = new StreamWriter(batpath);
    file.WriteLine("G:");
    file.WriteLine("cd " + path);
    file.Write(full);
    file.Close();
    //Excecute bat file
    System.Diagnostics.Process compile = new System.Diagnostics.Process();
    compile.StartInfo = new ProcessStartInfo(batpath);
    compile.Start();
    compile.Close();

1 个答案:

答案 0 :(得分:0)

这可能是一个简单的特权问题。应用程序用户可能没有服务器框中的执行权限。您需要联系您的系统管理员并要求他为服务器中的IIS应用程序池用户提供执行权限。