如何通过asp.net重启iis

jilate 2009-02-07 10:31:35
如何在一个aspx页面中点击按钮实现iis自动重启。
Process p = new Process();

p.StartInfo.FileName = "iisreset";

这种方式是不行的,只有应用程序可以使用
...全文
778 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
calvinsl 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 的回复:]

//我在本机用VS(B/S)测试,可以重启IIS
using System.Diagnostics;
Process.Start("iisreset");
[/Quote]

我在VS2008中测试,确实可以重启IIS。但是发布到IIS上,就不报错,也不重启IIS。
请教。我的邮箱ckl200@163.com
gdlpc 2010-03-17
  • 打赏
  • 举报
回复
//我在本机用VS(B/S)测试,可以重启IIS
using System.Diagnostics;
Process.Start("iisreset");
huiming_zhou 2010-01-14
  • 打赏
  • 举报
回复
up..我也在找相关信息,关注
lztsgx 2010-01-12
  • 打赏
  • 举报
回复
回帖是一种美德!每天回帖即可获得 10 分可用分!
lextm 2009-02-21
  • 打赏
  • 举报
回复
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/

仅仅回收执行这个ASP.NET应用的IIS进程的话,这个方法就够了。
lextm 2009-02-21
  • 打赏
  • 举报
回复
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/

仅仅回收执行这个ASP.NET程序的IIS进程。
lextm 2009-02-21
  • 打赏
  • 举报
回复
如果你只是想回收这个ASP.NET相关的IIS进程,试试看这个里面的方法,简单而且安全,

http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
HDNGO 2009-02-10
  • 打赏
  • 举报
回复
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="RestartWeb.aspx.cs" Inherits="MainSuper.WebSites.Tools.RestartWeb"
Buffer="false" EnableViewState="false" EnableSessionState="False" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%
if (Request["restart"] == null) {
Response.Write("web stoping...<br />");
HttpRuntime.UnloadAppDomain();
Response.Write("web stoped.<br />");
System.Threading.Thread.Sleep(1000);
Response.Write("web starting...<br />");
try {
System.Net.WebRequest.Create(Request.Url + "?restart=false").GetResponse();
Response.Write("web started.<br />");
} catch (Exception ex) {
Response.Write("error:" + ex.Message);
}
}
%>
</div>
</form>
</body>
</html>
kfps8kfps8 2009-02-10
  • 打赏
  • 举报
回复
mark
flyingfz 2009-02-10
  • 打赏
  • 举报
回复
我觉得要给 aspnet用户足够的权限.

所有的asp.net 页面都是在appdomain里运行的,默认情况下,运行应用的是aspnet 帐号,如果这个帐号有权限,它就可以做.
查询重启iis等操作需要的权限,然后给aspnet用户赋予相应的权限,应该是可以实现的.
conan19771130 2009-02-10
  • 打赏
  • 举报
回复
mark
hy_lihuan 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lovexiaoxiao 的回复:]
b/s也可以,以前我做过。
一会给你找找
[/Quote]
真的可以?
飞飞虫2015 2009-02-10
  • 打赏
  • 举报
回复
回帖是一种美德!每天回帖即可获得 10 分可用分!
xxoo2007 2009-02-10
  • 打赏
  • 举报
回复
Mark
bj890 2009-02-10
  • 打赏
  • 举报
回复
b/s也可以,以前我做过。
一会给你找找
jilate 2009-02-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 liujiayu10 的回复:]
另,试一下:

实现代码如下:

using System.Diagnostics;
using System.ServiceProcess;

ServiceController sc = new ServiceController("iisadmin");
if (sc.Status == ServiceControllerStatus.Running)
{
sc.Stop();//停止
}
// ServiceController sc = new ServiceController("iisadmin");
// sc.Start();//启动

Process.Start("iisreset");//重启

主要是Diagnostics、ServiceProcess量个…
[/Quote]

提示拒绝访问
异常常详细信息: System.ComponentModel.Win32Exception: 拒绝访问。
InvalidOperationException: 无法打开计算机“.”上的 iisadmin 服务。]
ZKM_ZHANG 2009-02-09
  • 打赏
  • 举报
回复
jf
lextm 2009-02-07
  • 打赏
  • 举报
回复
假如网页有足够权限执行倒是可以做到的。但是为什么要通过网页来复位呢?IIS服务本来就不应该手动重启。一般可以考虑回收应用程序池。
liujiayu10 2009-02-07
  • 打赏
  • 举报
回复
另,试一下:

实现代码如下:

using System.Diagnostics;
using System.ServiceProcess;

ServiceController sc = new ServiceController("iisadmin");
if (sc.Status == ServiceControllerStatus.Running)
{
sc.Stop();//停止
}
// ServiceController sc = new ServiceController("iisadmin");
// sc.Start();//启动

Process.Start("iisreset");//重启

主要是Diagnostics、ServiceProcess量个命名空间
liujiayu10 2009-02-07
  • 打赏
  • 举报
回复
Process p = new Process();

p.StartInfo.FileName = "iisreset/RESTART";
加载更多回复(2)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧