IIS7管理API——Microsoft.Web.Administration介绍

原创
小哥 2年前 (2023-05-24) 阅读数 7 #大杂烩

原文: IIS 7管理API——Microsoft.Web.Administration介绍 - Dflying Chen - 博客园

翻译和组织自Carlos Aguilar Mares的blog文章: Microsoft.Web.Administration in IIS 7

请注意,本文的内容基于Windows Vista Beta 2正式发布版本中的版本可能会更改。

Microsoft中提供的管理IIS7一些非常强大的API—— Microsoft.Web.Administration 我们管理和设置IIS 7各种配置。Microsoft.Web.Administration.dll位于IIS的目录(%WinDir%\System32\InetSrv)在项目中添加对它的引用后,您可以使用这些API是的。下图显示Microsoft.Web.Administration.dll主要对象在。

让我们用几个例子来使用Microsoft.Web.Administration下面的例子很容易理解,所以我就不多解释了。

建立站点(Site)

ServerManager iisManager = new ServerManager();
iisManager.Sites.Add("NewSite", "http", "*:8080:", "d:\MySite");
iisManager.Update();

添加应用程序(Application)添加到网站

ServerManager iisManager = new ServerManager();
iisManager.Sites["NewSite"].Applications.Add("/Sales", "d:\MyApp");
iisManager.Update();

创建虚拟目录 ( Virtual Directory)

ServerManager iisManager = new ServerManager();
Application app = iisManager.Sites["NewSite"].Applications["/Sales"];
app.VirtualDirectories.Add("/VDir", "d:\MyVDir");
iisManager.Update();

运行时控制:停止站点

ServerManager iisManager = new ServerManager();
iisManager.Sites["NewSite"].Stop();

运行时控制:回收应用程序池( Recyciling an Application Pool)

ServerManager iisManager = new ServerManager();
iisManager.ApplicationPools["DefaultAppPool"].Recycle();

运行时控制:获取当前正在处理的请求

ServerManager iisManager = new ServerManager();
foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {
Console.WriteLine("W3WP ({0})", w3wp.ProcessId);

foreach (Request request in w3wp.GetRequests(0)) {
Console.WriteLine("{0} - {1},{2},{3}",
request.Url,
request.ClientIPAddr,
request.TimeElapsed,
request.TimeInState);
}
}

另一个有用的方面是Microsoft.Web.Administration提供了对.config(例如web.config)文件的编辑功能让您不再需要像往常一样修改它XML像文件一样修改.config是的。但原作者说他会Post我暂时只把它留在这里,正如详细解释的那样。

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除