Перезапуск веб-сайта с его собственной веб-страницы - PullRequest
3 голосов
/ 14 июля 2009

Ну, для простоты: у меня есть веб-форма. На ней кнопка под названием «Перезагрузка». Я нажимаю на эту кнопку, и IIS сам перезагружается.

Теперь, какой код C # мне нужно написать за событием OnClick этой веб-кнопки? (Если это вообще возможно?) <ч /> Затем добавляется вторая кнопка. Он называется «Сброс» и должен просто сбросить домен приложения для текущего веб-приложения. Какой будет код для этого?

Ответы [ 4 ]

11 голосов
/ 14 июля 2009
protected void Reload_Click(object sender, EventArgs e)
{
    HttpRuntime.UnloadAppDomain();
}

protected void Restart_Click(object sender, EventArgs e)
{
    using (var sc = new System.ServiceProcess.ServiceController("IISAdmin"))
    {
        sc.Stop();
        sc.Start();
    }
}
3 голосов
/ 14 июля 2009
Process iisreset = new Process();
iisreset.StartInfo.FileName   = "iisreset.exe";
iisreset.StartInfo.Arguments = "computer name";
iisreset.Start();

//iisreset.exe is located in the windows\system32 folder.
1 голос
/ 14 июля 2009

Существует ли на сервере несколько веб-сайтов, на которых будет выполняться этот код? Если это так, вы можете просмотреть пространство имен System.DirectoryServices и перезапустить отдельный веб-сайт

1 голос
/ 14 июля 2009

(http://www.velocityreviews.com/forums/t300488-how-can-i-restart-iis-or-server-from-aspx-page-or-web-service.html)

string processName = "aspnet_wp";

System.OperatingSystem os = System.Environment.OSVersion;

//Longhorn and Windows Server 2003 use w3wp.exe
if((os.Version.Major == 5 && os.Version.Minor > 1) || os.Version.Major ==6)
   processName = "w3wp";

foreach(Process process in Process.GetProcessesByName(processName))
   {
      Response.Write("Killing ASP.NET worker process (Process ID:" +
      process.Id + ")");
      process.Kill();
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...