前段时间,本地开发组希望使用集团统一的鉴权组件,所以,把一些程序更改,但是,运行结果却不是很好,后来查了很久的原因,发现集团公司写的一个组件内存一直占用很高,且访问一次,内存不段累加,却没有被释放,最终将造成系统内存耗光.....由于本地不可能修改该组件,唯一的办法只有每天定时重启该服务....

c#来重启服务,包括iis,等等,代码很简单.随便抄一段.

停止
ServiceController sc = new ServiceController("iisadmin");
if(sc.Status=ServiceControllerStatus.Running)
  sc.Stop();

啟動IIS服務
ServiceController sc = new ServiceController("iisadmin");
  sc.Start();

重啟
using System.Diagnostics;
Process.Start("iisreset");

上面的代码大概能够满足重启等,但是,最好还要加上一个等待状态的函数还有一个刷新的函数....

遇到的问题描述:
如上的代码,如果写成winform程序,启动任何程序都没问题.但是,写成windows服务.却还需要有一定的操作...

首先,需要确定这个服务发布的时候,是选择的localserver,还是localsystem等等....

然后,确定要启动的服务是以哪种方式发布的..localserver,localsystem等.....(服务->要重启的服务->属性->登陆)

然后,给定要重启的服务组件相应的访问权限....

posted on 2008-06-03 09:13  颜昌钢  阅读(3024)  评论(1编辑  收藏  举报