У меня очень срочные требования. У меня есть приложение ASP.net на платформе 4.0 сделано в архитектуре MVC. В приложении я вызываю Perl-скрипт для копирования данных из MySQL в SQL Server 2010 в бэкэнд. Когда я запускаю приложение из Visual Studio 2010, сценарий Perl успешно выполняется и данные копируются. Но когда я развертываю то же приложение в IIS 7.5, оно не показывает никаких изменений или сценарий Perl не запускается. Я попытался напечатать каждый шаг кода и обнаружил, что все пути верны. Скрипт perl должен запускаться через командный файл.
Ниже приведен код для запуска процесса, запускающего пакетный файл, который, в свою очередь, запускает Perl-скрипт:
string strPath = string.Empty;
string strDirectory = string.Empty;
try {
strPath = "/k " + ConfigurationManager.AppSettings["UploadTLInfo"];//Path of the batch file comes from here
strDirectory = ConfigurationManager.AppSettings["WorkingDirectory"];
ProcessStartInfo psi = new ProcessStartInfo("cmd.exe",strPath);
psi.UseShellExecute = false;
psi.WorkingDirectory = strDirectory;
//psi.CreateNoWindow = true;
//psi.WindowStyle = ProcessWindowStyle.Hidden;
Process p = new Process();
p.StartInfo = psi;
p.Start();
} catch (Exception ex) {
throw ex;
}