我在C#中使用Web Service执行简单C ++(。exe)。它在开发环境中工作正常(在Visual Studio中),但是当我在IIS中托管时,它不会被执行。我尝试使用Simple C#Console Application它对我来说很好。 我已经获得了
的权限从IIS到编辑权限。
[WebMethod]
public string GETOCR()
{
string OCROutput ="";
ProcessStartInfo startinfo = new ProcessStartInfo("C:\\BSG\\ProcessOCR.exe", "12,13;964,15;964,634;9,634 \"C:\\BSG\\20150709_224156.jpg\" ");
startinfo.CreateNoWindow = true;
startinfo.UseShellExecute = false;
startinfo.RedirectStandardOutput = true;
startinfo.WindowStyle = ProcessWindowStyle.Normal;
try
{
using (Process exeProcess = Process.Start(startinfo))
{
OCROutput = exeProcess.StandardOutput.ReadToEnd();
//Response.Write(OCROutput);
exeProcess.WaitForExit();
}
}
catch (Exception)
{
throw;
}
return OCROutput;
}
答案 0 :(得分:0)
您需要检查您网站的应用程序池的帐户。为此,请单击IIS中的站点(适用于IIS 7及更高版本),然后单击右侧操作面板中的基本设置。您将看到应用程序池名称,记住它并单击取消。之后转到应用程序池,找到您记得的应用程序池并选择它。点击右侧修改应用程序池面板中的高级设置... 。在流程模型部分中查找身份。身份值是您需要在安全标签中为文件 C:\ BSG \ ProcessOCR.exe 设置权限的帐户(不适用于站点文件夹!)和此程序将向/从(如果有)写入/读取文件的文件夹。