• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

清宇诺诺

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

C#代码配置IIS 操纵IIS

前言:

IIS到目前经历了四个版本分别为 IIS4.0  IIS5.0 IIS6.0 IIS7.0,其中IIS6.0 IIS7.0是在5.0的安全问题的基础上获得的发展,目前为止。6.0版本以后的都是比较安全稳定的,为什么需要了解IIS版本,是因为6.0以后和之 前的IIS提供的操作API是不一样的,不过IIS6.0时代主要以using System.DirectoryServices空间下的DirectoryEntry 对象作为编程访问一个主要载体.但随着IIS7.0发布.NET的Web程序由IIS6.0开始逐渐过渡到 7.0版本.而且在编程控制IIS上新添加的Microsoft.Web.Administration名称空间, 可以操作7.0。

系统要求:亲测win7+iis7.0.

以下为代码部分:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;

namespace CSIISAdminADSI
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("按任意键来创建新的网站。");
            Console.ReadLine();

            //连接到IIS ADSI提供者                    
            string ServerName = "LocalHost";
            DirectoryEntry W3SVC =
                new DirectoryEntry("IIS://" + ServerName + "/w3svc");

            // 创建新的Web站点。            
            object siteObj;
            string siteID = "";
            string siteName = "IISADSIDemo";//网站名字
            string hostHeader = "www.mytestdomain.com";//域名
            string serverBinding1 = ":8181:";
            string serverBinding2 = ":8282:" + hostHeader;
            string rootPath = "D:\\inetpub\\IISADSIDemo";//路径
            object[] siteProperty =
                new object[] { 
                    siteName, 
                    new object[] { serverBinding1, serverBinding2 }, 
                    rootPath 
                };

            try
            {
                siteObj = (object)W3SVC.Invoke("CreateNewSite", siteProperty);
                siteID = siteObj.ToString();
                W3SVC.CommitChanges();
            }
            catch (Exception ex)
            {
                Console.WriteLine(
                    "不能有以下例外创建网站: \n{0}",
                    ex.Message);
            }

            ///////////////////////////////////////////////////////////////////////
            // 稍候让ADSI完成以上操作,然后启动网站。
            Console.WriteLine("网站创建。iisadsidemo开始...");
            System.Threading.Thread.Sleep(1000);

            DirectoryEntry newSite =
                new DirectoryEntry("IIS://" + ServerName + "/W3SVC/" + siteID);
            newSite.Invoke("Start");

            Console.WriteLine("开始 \n");

            Console.WriteLine("创建新的虚拟目录.");

            // 创建新的虚拟目录。
            string metabasePath = string.Format("/W3SVC/{0}/Root", siteID);
            DirectoryEntry site =
                new DirectoryEntry("IIS://" + ServerName + metabasePath);
            DirectoryEntries vdirs = site.Children;
            DirectoryEntry newVDir = vdirs.Add("vdir1", "IIsWebVirtualDir");

            newVDir.Properties["Path"][0] = "D:\\inetpub\\IISADSIDemo\\vdir1";
            newVDir.Properties["AccessScript"][0] = true;
            newVDir.Properties["AppFriendlyName"][0] = "vdir1";
            newVDir.Properties["AppIsolated"][0] = "1";
            newVDir.Properties["AppRoot"][0] = "/LM" + metabasePath + "/vdir1";

            newVDir.CommitChanges();

            Console.WriteLine("vdir1创建. \n");

            // 列出服务器上的所有网站。        
            Console.WriteLine("列出服务器上的所有网站: \n");
            try
            {
                foreach (DirectoryEntry Site in W3SVC.Children)
                {
                    if (Site.SchemaClassName == "IIsWebServer")
                        Console.WriteLine(Site.Name + " - " +
                            Site.Properties["ServerComment"].Value.ToString());
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(
                    "不能有以下例外网站清单: \n{0}: " +
                    e.ToString());
            }

            Console.WriteLine("\nEnd.");
            Console.Read();
        }
    }
}
View Code

 

posted on 2015-03-20 10:43  清宇诺诺  阅读(335)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3