救命啊。不够加分

gd4134 2007-05-22 04:15:12
实际上机器上的 WWW 服务已经起来了,但是默认的网站经常还是停止状态,我们可以在IIS管理器中启动,那么怎么编程实现这个功能呢?
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
gd4134 2007-05-28
  • 打赏
  • 举报
回复
我的问题是在IIS中把网站给停了,但是在服务中W3SVC服务没有停怎么处理
james_hunter 2007-05-23
  • 打赏
  • 举报
回复
我怎么觉得cq_lqj像个机器人?……
hertcloud 2007-05-22
  • 打赏
  • 举报
回复
用web 来启动是不现实的
IIS都停掉了 你的程序 都不能运行

只能写成window 服务或winform程序来做.
cq_lqj 2007-05-22
  • 打赏
  • 举报
回复
给你一个“启动、停止、暂停和继续Internet信息服务(IIS)默认网站”例子:
1、在 Microsoft Visual Studio .NET 的“文件”菜单上,单击“新建”,然后单击“项目”。
2、在“新建项目”对话框中,选择“Visual C#项目”,再选择“Windows 应用程序”模板。
3、键入 WebApp 作为该程序的名称,然后单击确定。
4、在“解决方案资源管理器”的WebApp项目,鼠标右击“引用”,点击“添加引用”,在.NET中选择“System.DirectoryServices”。
5、在Form1.cs的视图设计器中,添加如下控件:
控件类型 控件名称  控件属性 属性值
Button button1 Text 启动IIS的默认网站
Button button2 Text 停止IIS的默认网站
Button button3 Text 暂停IIS的默认网站
Button button4 Text 继续IIS的默认网站
Label label1 Text IIS的默认网站的状态:
Label label2 Text label2
Timer timer1 Enabled True
ServiceController serviceController1 ServiceName W3SVC
6、在Form1.cs的代码设计器中,引用添加如下代码
using System.DirectoryServices;
7、在Form1.cs的视图设计器中,选中button1,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button1_Click(object sender, EventArgs e)
{
try
{
serviceController1.Start();//启动IIS默认网站
}
catch (Exception Mye)
{
MessageBox.Show(this, Mye.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
8、在Form1.cs的视图设计器中,选中button2,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button2_Click(object sender, EventArgs e)
{
try
{
serviceController1.Stop();//停止IIS默认网站
}
catch (Exception Mye)
{
MessageBox.Show(this, Mye.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
9、在Form1.cs的视图设计器中,选中button3,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button3_Click(object sender, EventArgs e)
{
try
{
serviceController1.Pause();//暂停IIS默认网站
}
catch (Exception Mye)
{
MessageBox.Show(this, Mye.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
10、在Form1.cs的视图设计器中,选中button3,在属性框中选中事件,双击Click,在Form1.cs的代码设计器中,添加修改如下代码
private void button4_Click(object sender, EventArgs e)
{
try
{
serviceController1.Continue();//继续IIS默认网站
}
catch (Exception Mye)
{
MessageBox.Show(this, Mye.Message, "信息提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
11、在Form1.cs的视图设计器中,选中timer1,在属性框中选中事件,双击Tick,在Form1.cs的代码设计器中,添加修改如下代码
private void timer1_Tick(object sender, EventArgs e)
{
try
{
serviceController1.Refresh();
label2.Text = serviceController1.Status.ToString();//IIS默认网站的状态
}
catch (Exception Mye)
{
label2.Text = Mye.Message;
}
}
12、编译


软件开发真的很简单,详见http://www.psec.net.cn
honkerhero 2007-05-22
  • 打赏
  • 举报
回复
用执行命令行的那个吧,查查MSDN
sswwee 2007-05-22
  • 打赏
  • 举报
回复
iisreset /restart

net start w3svc
zxkid 2007-05-22
  • 打赏
  • 举报
回复
启动IIS需要启动多个服务 (前三个服务我机上没装, 不知道具体的服务名, 可以到管理工具\服务中确认一下服务名称)
FTP服务
SMTP服务
NNTP服务
WWW服务(World Wide Web Publishing)
IIS管理服务(IIS Admin)

如果尝试停止某个服务,应该先停止与该服务有依赖关系的其他服务。例如,停止 IISADMIN 之前,必须先停止 W3SVC、MSFTPSVC 和 SMTPSVC。

再通过编程启动服务应该不难了
CathySun118 2007-05-22
  • 打赏
  • 举报
回复
'启动iis服务(用shell)。
SysPath = VBGetSystemDir(); '取得系统目录
iisstarpath = SysPath + "\iisreset.exe /start" ;
int cmdshell
cmdshell = Shell(iisstarpath, 0) ; ' 启动iis
If(cmdshell == 0) '不能启动
{
Check3W = False
MsgBox.Show("IIS服务不能启动,你需要手工启动IIS服务!B/S部分没有安装到本机器上!" );
}
sly520 2007-05-22
  • 打赏
  • 举报
回复
关注..
IIS只听过手动启动的,代码实现不清楚了

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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