Microsoft中提供了管理IIS7及以上版本一个非常强大的API - Microsoft.Web.Administration.dll,利用该API可以让我们很方便的以编程的方式管理和设定IIS的各项配置信息了。

Microsoft.Web.Administration.dll位于IIS目录下(%WinDir%\System32\InetSrv)下,在项目中添加引用后就可以使用这些API了。

参考资料:https://msdn.microsoft.com/en-us/library/microsoft.web.administration(v=vs.90).aspx

下面通过代码进行web发布:

1、添加 Microsoft.Web.Administration.dll 引用

2、引用命名空间 using Microsoft.Web.Administration;

     /// <summary>
/// 使用代码进行web发布
/// </summary>
/// <param name="webName">web应用程序名称</param>
/// <param name="port">web应用程序端口</param>
/// <returns></returns>
private bool PublishWeb(string webName, int port)
{
try
{
ServerManager iismanager = new ServerManager();
//判断应用程序池是否存在
if (iismanager.ApplicationPools[webName] != null)
{
iismanager.ApplicationPools.Remove(iismanager.ApplicationPools[webName]);
}
//判断web应用程序是否存在
if (iismanager.Sites[webName] != null)
{
iismanager.Sites.Remove(iismanager.Sites[webName]);
}
//建立web应用程序(第二个参数为安装文件的地址)
iismanager.Sites.Add(webName, "c:\\webFilePath", port);
//添加web应用程序池
ApplicationPool pool = iismanager.ApplicationPools.Add(webName);
//设置web应用程序池的Framework版本(注意版本号大小写问题)
pool.ManagedRuntimeVersion = "v4.0";
//设置是否启用32为应用程序
pool.SetAttributeValue("enable32BitAppOnWin64", true);
//设置web网站的应用程序池
iismanager.Sites[webName].Applications[0].ApplicationPoolName = webName;
//提交更改
iismanager.CommitChanges();
return true;
}
catch (Exception ex)
{
throw (ex);
}
}

在对web应用程序池属性进行设置时,可以参考IIS管理器中对应的属性,点击每个属性在说明框中都会有属性的名称,通过该名称可以通过代码设置对应的值。

C# IIS站点管理--Microsoft.Web.Administration.dll的更多相关文章

  1. C#操作IIS站点 Microsoft.Web.Administration.dll

    利用IIS7自带类库管理IIS现在变的更强大更方便,而完全可以不需要用DirecotryEntry这个类了(网上很多.net管理iis6.0的文章都用到了DirecotryEntry这个类 ),Mic ...

  2. IIS 7管理API——Microsoft.Web.Administration介绍

    原文:http://www.cnblogs.com/dflying/archive/2006/04/17/377276.html 本文翻译整理自Carlos Aguilar Mares的blog文章: ...

  3. IIS站点管理-IIS站点以管理员身份或指定用户运行

    PS:概要.背景.结语都是日常“装X”,可以跳过直接看应用程序池设置 环境:Windows Server 2008.阿里云ECS.IIS7.0 概要 IIS应用程序默认情况下,是使用内置帐户运行的,权 ...

  4. 使用 Microsoft.Web.Administration 管理iis

    How to Automate IIS 7 Configuration with .NET How to Automate IIS 7 Configuration with .NET Are you ...

  5. IIS7 开发与 管理 编程 之 Microsoft.Web.Administration

    一.引言: 关于IIS7 Mocrosoft.Web.Administration  网上这方面详细资料相对来说比较少,大家千篇一律的(都是一篇翻译过来的文章,msdn 里面的实列没有).前段做了一个 ...

  6. Microsoft Azure Web Sites应用与实践【2】—— 通过本地IIS 远程管理Microsoft Azure Web Site

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  7. IIS7 Microsoft.Web.Administration 创建Application问题

    在使用DirectoryEntry操作IIS时,可以设置很多属性.但使用Microsoft.Web.Administration中的一些类时,不知道在哪设置.例如:AccessScript,Acces ...

  8. Microsoft.Web.Administration操作IIS7时的权限设置

    在用Microsoft.Web.Administration操作IIS7时,你可能会遇到如下权限错误: 文件名: redirection.config错误: 由于权限不足而无法读取配置文件 如下图: ...

  9. Microsoft.Web.Administration in IIS

    http://blogs.msdn.com/b/carlosag/archive/2006/04/17/microsoftwebadministration.aspx 最好使用在IIS8中,因为为每一 ...

随机推荐

  1. laravel 多条件查询

    select * from homework where (id between 1 and 10 or id between 50 and 70) and complete = 1 and (tit ...

  2. P2801 教主的魔法(分块入门)

    两个月之前听yyr学长讲的分块,感觉是个很神奇的暴力,但到现在还是懵的一匹 #include<bits/stdc++.h> using namespace std; ; int belon ...

  3. Linux(Ubuntu)使用日记------部署JavaWeb项目到服务器

    0.前言 本博文内容是建立在你可以通过SSH连接到远程服务器的基础上的,如果你还没有用SSH连接到远程服务器,请参考此文(腾讯云服务器): http://www.cnblogs.com/hwtblog ...

  4. MyBatis 3源码解析(四)

    四.MyBatis 查询实现 Employee empById = mapper.getEmpById(1); 首先会调用MapperProxy的invoke方法 @Override public O ...

  5. Linux服务器初步配置流程

    一.root登录 首先使用root用户登录远程主机: ssh -p prot root@host 这时命令行会输出类似的信息: The authenticity of host '[23.105.21 ...

  6. LOJ2083 [NOI2016] 优秀的拆分 【哈希】【调和级数】

    题目分析: 好题!我们发现题目实际是要求出从某个左端点开始跑出去的BB型有多少个和从某个右端点开始跑出去的AA型有多少个. 发现这个问题是对称的,所以只考虑从左端点跑出去的BB型有多少个就可以了. 我 ...

  7. 【LOJ6515】贪玩蓝月

    题目大意 有一个双端队列,每个元素是一个物品,每个物品有体积和价值两个属性. 有 \(n\) 个操作,分为 \(5\) 种:前后端插入删除,还有询问:选出一些物品,满足这些物品的体积之和模 \(p\) ...

  8. windows下的vimrc

    很奇怪的事...不会解释 建议编译位置第一次设置为 map <F9> :call CR()<CR>func! CR()exec "w"exec " ...

  9. Django中ORM介绍

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  10. 微信公众、QQ群、知识星球(附比特币链接)

    文章一般都会在公众号抢先预览,一个系列出差不多的时候一般博客园汇总一下(文章很长) 微信公众号:逸鹏说道(dotnetcrazy) 群友刚创建的Python中级群,有一定Python基础的可以共同探讨 ...