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. 使用sqlserver 链接远程服务器进行查询

    --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQLOLEDB ', '远程服务器名或ip地址 ' exec sp_addlinkedsrvlogi ...

  2. pstree:command not found

    centos7默认并没有安装pstree,所以会有pstree:command not found yum -y install psmisc

  3. Vue中的状态管理器 - Vuex

    我们知道vue是组件式开发的,当你的项目越来越大后,每个组件背后的数据也会变得越来越难以理顺, 这个时候你就可以考虑使用vuex了. 备注: 官方建议小项目不要使用,引入vuex会带来新的概念和模式, ...

  4. webpack4 学习 --- 处理静态资源

    webpack 是利用loader 来处理各种资源的,wepback的配置基本上就是为各种资源文件,指定不同类型的loader. 1,处理css 最基本的css 处理loader 是css-loade ...

  5. codeforces16B

    Burglar and Matches CodeForces - 16B A burglar got into a matches warehouse and wants to steal as ma ...

  6. Nginx CONTENT阶段 autoindex、index模块

    L 66 autoindex 指令 syntax : on | off; default : off; context : http,server,location; autoindex_exact_ ...

  7. Spring cloud zuul跨域(一)

    项目背景:我们有web和大屏,以及移动端,需要访问微服务接口. 然而大屏时自己打开的网页,在网页中通过js调用我的webapi.出现了跨域情况. 原因:出现这个问题,是由于跨域请求有2次请求. 第一次 ...

  8. code runner 使用教程

    https://zhuanlan.zhihu.com/p/54861567 其中解决无法在编辑器中编辑问题(编辑器只读) 只需要把Code-runner: Run In Terminal true(打 ...

  9. 微信小程序之:wepy(二)

    一大堆实例:人家的博客园 代码规范: 1.尽量使用驼峰命名,避免使用$开头,框架内建属性都已$开头,可以使用this直接调用. 2.入口文件.页面.组件后缀都为.wpy. 3.使用ES6语法开发. 4 ...

  10. 【Linux】Jenkins安装

    安装环境准备 操作系统:Linux(CentOS7) 软件:jdk,安装及配置步骤见Linux安装jdk 软件:tomcat,安装及配置见Linux安装tomcat Jenkins安装 由于Jenki ...