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();
        }
    }
}

时间: 2024-10-12 04:46:02

C#代码配置IIS 操纵IIS的相关文章

配置WebSite的IIS时遇到的问题与解决方法

1: Server Error Internet Information Services 7.5 Error Summary HTTP Error 500.19 - Internal Server Error The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information Module IIS Web

web应用程序项目 已配置为使用iis

Web应用程序项目XX已配置为使用IIS 今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如下图: 再网上搜索了下,解决办法如下. (1)右键点击Umbraco.Cms.Web.UI项目,选择编辑Umbraco.Cms.Web.UI.csprj.打开该项目的项目文件 (2)在打开的项目文件中搜索<UseIIS>找到Web应用程序的属性设置段 (3

配置好了IIS 改了Hosts 为什么打开的网页是一片空白?

(一) 为了看见HTTP的错误 首先在控制面板->程序与服务->打开或关闭Windows服务->打开以下两个服务 1.如果访问任何不存在页面或页面出错时空白: Internet 信息服务 - 万维网服务 - 常见 HTTP 功能 - HTTP 错误 打勾 2.如果访问任何存在的页面时出现空白: Internet 信息服务 - 万维网服务 - 静态内容 打勾 点击"确定" 接下来打开网站就会有报错的提示 (二)如果是显示一下画面 则解决方法如下: 原因:在安装Frame

Web 应用程序项目 XXXX 已配置为使用 IIS。 无法访问 IIS 元数据库。您没有足够的特权访问计算机上的 IIS 网站。(转载)

Web 应用程序项目 XXXX 已配置为使用 IIS. 无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 2012年05月19日 ⁄ 综合 ⁄ 共 261字 ⁄ 字号 小 中 大 ⁄ 评论关闭 问题:Windows8下直接使用VS 打开项目,出现问题: XXXX 已配置为使用 IIS.  无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 解决: 1.以"管理员权限"运行VS,在VS菜单打开项目即可. 但是以上解决方法不方便. 2.较为

MySQL+PHP配置 Windows系统IIS版

MySQL+PHP配置 Windows系统IIS版 1.下载 MySQL下载地址:http://dev.mysql.com/downloads/mysql/5.1.html->Windows (x86, 32-bit), MSI Installer Essentials - Recommended(不包含文档)-> No thanks, just start my download.(无需登录注册 直接下载) PHP下载地址:www.php.net->5.4.44版本->选择Win

Web应用程序项目XXXX已配置为使用IIS。无法访问IIS元数据库。您没有足够的特权访问计算机上的IIS网站

问题:Windows8下直接使用VS打开项目,出现问题:XXXX已配置为使用IIS.无法访问IIS元数据库.您没有足够的特权访问计算机上的IIS网站.解决:1.以“管理员权限”运行VS,在VS菜单打开项目即可.但是以上解决方法不方便.2.较为完美的解决方案:(1)右键点击XXXX项目,选择编辑XXXX.csprj.打开该项目的项目文件(2)在打开的项目文件中搜索<UseIIS>找到Web应用程序的属性设置段(3)将UseIIS段的值由True改成False,关闭项目文件(4)重新加载XXXX项

00-01.PHP 网站假设win7配置自己的IIS服务器亲自做的图文很详细 [转 - 赞 ]

win7配置自己的IIS服务器亲自做的图文很详细 分步阅读 跟人网站爱好初学者必看的win7系统配置自己的IIS,可以在你自己的电脑上配置网站服务器发不到网上,下面就跟着我的步骤一起做吧100%成功. 步骤/方法 点击开始-------控制面板这个就是打开的控制面板--点击默认程序进入下一步   下一步我们选择程序和功能---再下一步   到这里我们选择打开或关闭windows功能   到这里我们找到internet信息服务S2005 中,如果要调试站点的话,必须有“Windows身份验证” “

Web应用程序项目XX已配置为使用IIS

今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如下图: 再网上搜索了下,解决办法如下. (1)右键点击Umbraco.Cms.Web.UI项目,选择编辑Umbraco.Cms.Web.UI.csprj.打开该项目的项目文件 (2)在打开的项目文件中搜索<UseIIS>找到Web应用程序的属性设置段 (3)将UseIIS段的值由True改成Fal

Web 应用程序项目 MvcApplication1 已配置为使用 IIS。

今天网上下了一个项目,加载不了,并报如下错误: Web 应用程序项目 MvcApplication1 已配置为使用 IIS. 若要访问本地 IIS 网站,必须在管理员帐户的上下文中运行 Visual Studio.另外,必须安装下列 IIS 组件:ASP.NET. 解决方案: 1.右键点击该项目,编辑MvcApplication1.csproj. 2.找到<UseIIS>节点,并将值改为false 3.重新加载项目即可