C# IIS站点管理--Microsoft.Web.Administration.dll
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管理器中对应的属性,点击每个属性在说明框中都会有属性的名称,通过该名称可以通过代码设置对应的值。
- 上一篇 »iis7下配置php出现404.17错误的解决办法
- 下一篇 »C#动态生成html页面