Process p = new Process();
p.StartInfo.FileName = "iisreset";
这种方式是不行的,只有应用程序可以使用
23 个解决方案
#1
假如网页有足够权限执行倒是可以做到的。但是为什么要通过网页来复位呢?IIS服务本来就不应该手动重启。一般可以考虑回收应用程序池。
#2
up!
#3
HttpRuntime.UnloadAppDomain();
试试,
试试,
#4
Process p = new Process();
p.StartInfo.FileName = "iisreset/RESTART";
p.StartInfo.FileName = "iisreset/RESTART";
#5
另,试一下:
实现代码如下:
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量个命名空间
实现代码如下:
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量个命名空间
#6
jf
#7
提示拒绝访问
异常常详细信息: System.ComponentModel.Win32Exception: 拒绝访问。
InvalidOperationException: 无法打开计算机“.”上的 iisadmin 服务。]
#8
b/s也可以,以前我做过。
一会给你找找
一会给你找找
#9
Mark
#10
回帖是一种美德!每天回帖即可获得 10 分可用分!
#11
真的可以?
#12
mark
#13
我觉得要给 aspnet用户足够的权限.
所有的asp.net 页面都是在appdomain里运行的,默认情况下,运行应用的是aspnet 帐号,如果这个帐号有权限,它就可以做.
查询重启iis等操作需要的权限,然后给aspnet用户赋予相应的权限,应该是可以实现的.
所有的asp.net 页面都是在appdomain里运行的,默认情况下,运行应用的是aspnet 帐号,如果这个帐号有权限,它就可以做.
查询重启iis等操作需要的权限,然后给aspnet用户赋予相应的权限,应该是可以实现的.
#14
mark
#15
<%@ 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>
#16
如果你只是想回收这个ASP.NET相关的IIS进程,试试看这个里面的方法,简单而且安全,
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
#17
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
仅仅回收执行这个ASP.NET程序的IIS进程。
仅仅回收执行这个ASP.NET程序的IIS进程。
#18
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
仅仅回收执行这个ASP.NET应用的IIS进程的话,这个方法就够了。
仅仅回收执行这个ASP.NET应用的IIS进程的话,这个方法就够了。
#19
回帖是一种美德!每天回帖即可获得 10 分可用分!
#20
up..我也在找相关信息,关注
#21
//我在本机用VS(B/S)测试,可以重启IIS
using System.Diagnostics;
Process.Start("iisreset");
using System.Diagnostics;
Process.Start("iisreset");
#22
#23
我在VS2008中测试,确实可以重启IIS。但是发布到IIS上,就不报错,也不重启IIS。
请教。我的邮箱ckl200@163.com
#1
假如网页有足够权限执行倒是可以做到的。但是为什么要通过网页来复位呢?IIS服务本来就不应该手动重启。一般可以考虑回收应用程序池。
#2
up!
#3
HttpRuntime.UnloadAppDomain();
试试,
试试,
#4
Process p = new Process();
p.StartInfo.FileName = "iisreset/RESTART";
p.StartInfo.FileName = "iisreset/RESTART";
#5
另,试一下:
实现代码如下:
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量个命名空间
实现代码如下:
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量个命名空间
#6
jf
#7
提示拒绝访问
异常常详细信息: System.ComponentModel.Win32Exception: 拒绝访问。
InvalidOperationException: 无法打开计算机“.”上的 iisadmin 服务。]
#8
b/s也可以,以前我做过。
一会给你找找
一会给你找找
#9
Mark
#10
回帖是一种美德!每天回帖即可获得 10 分可用分!
#11
真的可以?
#12
mark
#13
我觉得要给 aspnet用户足够的权限.
所有的asp.net 页面都是在appdomain里运行的,默认情况下,运行应用的是aspnet 帐号,如果这个帐号有权限,它就可以做.
查询重启iis等操作需要的权限,然后给aspnet用户赋予相应的权限,应该是可以实现的.
所有的asp.net 页面都是在appdomain里运行的,默认情况下,运行应用的是aspnet 帐号,如果这个帐号有权限,它就可以做.
查询重启iis等操作需要的权限,然后给aspnet用户赋予相应的权限,应该是可以实现的.
#14
mark
#15
<%@ 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>
#16
如果你只是想回收这个ASP.NET相关的IIS进程,试试看这个里面的方法,简单而且安全,
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
#17
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
仅仅回收执行这个ASP.NET程序的IIS进程。
仅仅回收执行这个ASP.NET程序的IIS进程。
#18
http://dotnetyuppie.com/2008/01/06/programmatically-recycling-your-aspnet-application/
仅仅回收执行这个ASP.NET应用的IIS进程的话,这个方法就够了。
仅仅回收执行这个ASP.NET应用的IIS进程的话,这个方法就够了。
#19
回帖是一种美德!每天回帖即可获得 10 分可用分!
#20
up..我也在找相关信息,关注
#21
//我在本机用VS(B/S)测试,可以重启IIS
using System.Diagnostics;
Process.Start("iisreset");
using System.Diagnostics;
Process.Start("iisreset");
#22
#23
我在VS2008中测试,确实可以重启IIS。但是发布到IIS上,就不报错,也不重启IIS。
请教。我的邮箱ckl200@163.com