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管理器中对应的属性,点击每个属性在说明框中都会有属性的名称,通过该名称可以通过代码设置对应的值。

最新文章

  1. 注册OCX失败
  2. 关于Visual Studio 2015中没有报表项(ReportViewer)的解决方案。
  3. ATS
  4. Java开源数据库管理工具
  5. python时间处理函数
  6. hdu 1316 How Many Fibs?
  7. 动态规划晋级——HDU 3555 Bomb【数位DP详解】
  8. jQuery的9中构造函数
  9. Java IO详解(一)------字节输入输出流
  10. 201521123075 《Java程序设计》第7周学习总结
  11. 分享非常好用的前端分页js工具类 灵活 简单易懂
  12. java调用webservice,restful
  13. centos 6.5 下 nginx 简单优化_虚拟主机_负载均衡
  14. 如何调用wasm文件?
  15. JAVA:IDEA使用Junit(3)
  16. topcoder srm 565 div1
  17. Bootstrap4响应式布局之栅格系统
  18. 树莓派进阶之路 (010) - 树莓派raspi-config配置(转)
  19. windows使用方法
  20. 简单的cxf-rs

热门文章

  1. MySQL中的用户与授权
  2. Excel vba中访问ASP.NET MVC项目,记录访问时间,文件名称
  3. jQuery 源码学习 - 01 - 简洁的 $(&#39;...&#39;)
  4. 命令行中的python一行流
  5. 洛谷P3268 [JLOI2016]圆的异或并(扫描线)
  6. VS2010查看源码对应的汇编语言
  7. 八.django模型系统(二)之常用查询及表关系的实现
  8. 浅谈Kubernetes生产架构
  9. java容器-Map
  10. hd RFS USB Sever/ NetworkUSB/16 Pro+ / NET-USB16-P+