前言:

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(); 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"][] = "D:\\inetpub\\IISADSIDemo\\vdir1";
newVDir.Properties["AccessScript"][] = true;
newVDir.Properties["AppFriendlyName"][] = "vdir1";
newVDir.Properties["AppIsolated"][] = "";
newVDir.Properties["AppRoot"][] = "/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();
}
}
}

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

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

    今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目Umbraco.Cms.Web.UI已配置为使用IIS.若要访问本地IIS网站,必须安装下列IIS组件..,如 ...

  2. 转:Web应用程序项目XX已配置为使用IIS

    转:http://www.cnblogs.com/Joetao/articles/2392526.html 今天在看开源项目Umbraco是,出现一个项目加载不了,并报如下错误: Web应用程序项目U ...

  3. 配置Windows Server2008+iis+php+mysql所需下载安装包

    最近一个朋友让我帮忙给配置服务器iis+php+mysq 环境,遇到了很多问题,特此就在这里说一下.小弟只是在windwos2003 和windwos XP下配置过iis+php+mysql,去朋友那 ...

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

    今天网上下了一个项目,加载不了,并报如下错误: Web 应用程序项目 MvcApplication1 已配置为使用 IIS. 若要访问本地 IIS 网站,必须在管理员帐户的上下文中运行 Visual ...

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

    问题:Windows8下直接使用VS打开项目,出现问题:XXXX已配置为使用IIS.无法访问IIS元数据库.您没有足够的特权访问计算机上的IIS网站.解决:1.以“管理员权限”运行VS,在VS菜单打开 ...

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

    Web 应用程序项目 XXXX 已配置为使用 IIS. 无法访问 IIS 元数据库.您没有足够的特权访问计算机上的 IIS 网站. 2012年05月19日 ⁄ 综合 ⁄ 共 261字 ⁄ 字号 小 中 ...

  7. 部署网站: 配置项目到iis上运行报目录错误

    配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone  (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...

  8. 如何设置非管理员用户配置特定的IIS站点

    如何设置非管理员用     户配置特定的IIS站点 一.           添加IIS管理服务 二.           启动管理服务 勾选启用远程连接后.点右边的应用 三.           设 ...

  9. Web 应用程序项目 Himall.Web 已配置为使用 IIS。 无法访问 IIS 元数据库

    Web应用程序项目XXXX已配置为使用IIS.无法访问IIS元数据库.您没有足够的特权访问计算机上的IIS网站,xxxxiis 问题:Windows8下直接使用VS打开项目,出现问题:XXXX已配置为 ...

随机推荐

  1. C++ CopyFile

    复制文件 关键点 CopyFile The CopyFile function copies an existing file to a new file. The CopyFileEx functi ...

  2. 兼容,原来在这里就已经開始--------Day34

    看了两天,算是将w3cschool的javascript部分浏览了一遍.在脑海中大约有了一点概念,也才真切体会到:一入江湖深似海.欲穷此路难上难啊,至少如今看起来是遥遥无期.太多不懂, 太多茫然,只是 ...

  3. [ES6] 14. Generator -- 1. yield & next()

    Generators in ECMAscript 6 are first-class coroutines that produce encapsulated suspended execution  ...

  4. 读取svg图片为UIBezierPath,开心做动画

    动画预览 先扯淡 最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆.这篇文章记录一下今天折腾的一个方案.说来简单,就是用矢量设计工具舒舒服服的做好设计,然后输出成 svg ...

  5. android Activity的杂乱总结

    android中Activity可以说是四大组件中用的最为广泛,也是最为基本的一个组件.几乎和用户的所有交互都需要通过Activity来实现. 最近在学习过程中,有一些关于Activity的内容,让我 ...

  6. oc-13-多文件

    Dog.h #import <Foundation/Foundation.h> @interface Dog : NSObject { @public NSString *_name; i ...

  7. Win7 IE故障:APPCRASH,d3d9.dll,c0000005

    问题:        今天使用使用IE登录某网址,发现总是报错,如下图,无法浏览.         解决方案:       主要讲IE的呈现方案修改即可,如下步骤:       在IE的[Intern ...

  8. 用komodo建立python开发环境

    配置 在菜单中选择Edit.Preferences. 代码自动完成 更改tab代表的空格数 括号自动关闭和语法检查 interactive shell 中文支持 缩写 点击菜单View.Tabs &a ...

  9. Java SimpleDateFormat 函数

    一.SimpleDateFormat函数例子: SimpleDateFormat format=new SimpleDateFormat("MM-dd HH:mm:ss E"); ...

  10. java 简单矩阵乘法运算

    1.计算的两个矩阵其中第一个矩阵的列数必须和第二个矩阵的行数一致(或者反过来): 2.第一个矩阵的行数决定了结果矩阵的行数,第二个矩阵的列数决定了结果矩阵的列数: package org.admln. ...