Asp.net 从自己的网页重新启动网站
好吧,简单一点:我有一个网络表单。上面有一个叫“重启”的按钮。我点击这个按钮,IIS将自动重启 现在,我需要在这个web按钮的OnClick事件后面编写什么样的C代码?(如果可能的话?)Asp.net 从自己的网页重新启动网站,asp.net,iis,Asp.net,Iis,好吧,简单一点:我有一个网络表单。上面有一个叫“重启”的按钮。我点击这个按钮,IIS将自动重启 现在,我需要在这个web按钮的OnClick事件后面编写什么样的C代码?(如果可能的话?) 然后添加第二个按钮。它被称为“重置”,应该只重置当前web应用程序的AppDomain。这个的代码是什么?() protected void Reload_Click(object sender, EventArgs e) { HttpRuntime.UnloadAppDomain(); } pro
然后添加第二个按钮。它被称为“重置”,应该只重置当前web应用程序的AppDomain。这个的代码是什么?()
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();
}
}
在运行此代码的服务器上是否有多个网站?如果是这样,您可能需要查看System.DirectoryServices命名空间,然后重新启动单个网站要重新启动什么。。。整个IIS实例还是这个特定的应用程序?实际上,两者都有。同一台IIS服务器上还有另一个应用程序,它倾向于在不释放资源的情况下耗尽资源。因此,重新启动只是以一种简单的方式解决了这个问题。这似乎是一个不错的选择,因为它只会重新启动您的应用程序,而不会重新启动该服务器上托管的其他应用程序。请小心终止这样的进程。它可能会有意想不到的行为。Iisreset.exe将执行重新启动iss所需的所有TAK操作,并且它肯定不会对aspnet_wp造成硬杀伤。此服务器上托管有多个网站,但可以执行重置的应用程序旨在将它们全部重置。它应该维护那些其他站点。
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();
}
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.