c # new Process (). Start () не работает в Windows XP IIS 5.1 - PullRequest
0 голосов
/ 09 марта 2012

Я пытаюсь изменить системную дату и время, используя cmd.Я могу запустить cmd вручную из командной строки, и это работает.Это не работает, когда IIS5.1 / XP размещает его.Вот метод, который я использую для запуска команды.

/// <summary>
/// Runs a cmd and returns the response
/// </summary>
/// <param name="cmd"></param>
/// <returns>The respond of the cmd</returns>
private static string RunCmd(string cmd)
{
    var p = new Process();

    p.StartInfo = new ProcessStartInfo("cmd", cmd)
    {
        RedirectStandardOutput = true,
        UseShellExecute = false,
        CreateNoWindow = true
    };

    p.Start();

    string output = p.StandardOutput.ReadToEnd();

    p.WaitForExit();

    return cmd + Environment.NewLine + output;
}

Это работает, как и ожидалось, на моем устройстве dev (windows server 2008 r2) с использованием как cassini, так и IIS7.Почему он не работает на XP / IIS5.1?Я подозреваю, что это проблема с разрешениями.Если да, то как мне получить веб-сайт по умолчанию в полном разрешении администратора IIS5.1?

Кроме того, здесь приведен код, который я использую для вызова предыдущего упомянутого метода.

/// <summary>
/// Sets the date.
/// </summary>
/// <param name="year">The year.</param>
/// <param name="month">The month.</param>
/// <param name="day">The day.</param>
/// <remarks></remarks>
public static string SetDate(int year, int month, int day)
{
    var date = month.ToString("##") + "-" + day.ToString("##") + "-" + year.ToString("####");
    return RunCmd("CMD /c DATE " + date);
}

1 Ответ

0 голосов
/ 09 марта 2012

Можете ли вы взглянуть на стандартную ошибку?Маби, ты видишь причину сбоя вызова.

...