(403)调用生成文件

时间:2015-05-19 20:59:46

标签: c# asp.net visual-studio-2010

我们有一个简单的控制台应用程序,可生成TXT文件并将其作为电子邮件发送给用户列表。此控制台应用程序位于驱动器E上的远程服务器中。如果我转到远程服务器并从命令行运行它,则会生成文件并发送电子邮件。 Drive E是远程服务器中的本地驱动器。

现在我需要从webform运行EXE,所以我使用System.Diagnostics.Process调用它,然后部署到远程服务器。 Process.StartInfo.FileNameWorkingDirectory都指向E:\。代码是按下按钮,所以我单击按钮,我收到错误The remote server returned an error: (403) Forbidden

Process myProcess = new Process();
myProcess.StartInfo.FileName = @"cons.exe";
myProcess.StartInfo.UseShellExecute = true;
myProcess.StartInfo.WorkingDirectory = @"E:\apps\Program\CFolder";
myProcess.StartInfo.RedirectStandardInput = false;
myProcess.Start();

在我的工作站中,我有一个映射到RemoteServer的E驱动器(Y :)。我使用的代码与上面的代码完全相同,但它是Y:\而不是E:。所以我在本地调试,生成文件和电子邮件。

我理解它与许可问题有关,但问题是什么?似乎在RemoteServer中,C:\ inetpub \ App \ Call.aspx中的webform无法写入E:\,即使C:和E:是本地驱动器,我添加了NETWORK SERVICEIIS_IUSRS E:中的文件夹。

我可以将代码包含在网络表单中而不是调用EXE,但我更喜欢调用EXE,因为它已经存在了。

1 个答案:

答案 0 :(得分:0)

我最终将代码集成到网站中并删除了对控制台应用程序的调用。