WINXP环境下,在我的项目中,DEBUG下运行,一次性可以启动IIS网站,Release下运行,运行两个循环到第三个循环开始时可以启动IIS网站,在win2003环境下,在我的项目中不能启动iis网站,注意所有的用户都有全部权限,但写个多线程小程序中,可以在DEBUG和Release下在WINXP和WIN2003中都能一次性启动IIS网站
这个启动代码:
 VirtualDir = new DirectoryEntry("IIS://localhost/w3svc/1");
                  VirtualDir.Invoke("Stop", new object[] { }); // 停止
                  Thread.Sleep(3000);
                  VirtualDir.Invoke("Start", new object[] { }); // 启动
                  Thread.Sleep(10000);
注意在启动这段代码前,我启动了IIS所需服务。不知为何?百思不得其解。注意远程无论WINXP还是WIN2003,无论DEBUG下还是RELEASE下都不能启动IIS网站。也不解其中原因,约略的知道是权限的原因,但不知道如何去解决。
 VirtualDir =new DirectoryEntry("IIS://" + IP + "/w3svc/1", UserName, Password, AuthenticationTypes.Secure);
                  //Thread.Sleep(3000);
                  VirtualDir.Invoke("Stop", new object[] { }); // 停止
                 // Thread.Sleep(3000);
                  VirtualDir.Invoke("Start", new object[] { }); // 启动