繁体   English   中英

使用Microsoft.Web.Administration将ISAPI筛选器添加到现有站点

[英]Add an ISAPI Filter to an existing Site with Microsoft.Web.Administration

我正在尝试通过c#和Microsoft.Web.Administration程序集添加/配置ISAPI筛选器。 到目前为止,我没有设法为单个网站添加ISAPI筛选器。

我刚刚发现这篇文章(http://www.iis.net/ConfigReference/system.webServer/isapiFilters)将其添加到整个IIS的全局设置中。 我只需要一个特定的网站。 我正在使用IIS 7.5。

您只需要调整给出的示例(请参阅内联注释):

ServerManager serverManager = new ServerManager();   

Configuration config = serverManager.GetApplicationHostConfiguration();

// Change this line:    
ConfigurationSection isapiFiltersSection = 
                           config.GetSection("system.webServer/isapiFilters");

// To this by adding an extra param specifying the site name:
ConfigurationSection isapiFiltersSection = 
              config.GetSection("system.webServer/isapiFilters", "my site name");


ConfigurationElementCollection isapiFiltersCollection = 
                           isapiFiltersSection.GetCollection();

ConfigurationElement filterElement = 
                        isapiFiltersCollection.CreateElement("filter");
filterElement["name"] = @"SalesQueryIsapi";
filterElement["path"] = @"c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll";
filterElement["enabled"] = true;
filterElement["enableCache"] = true;
isapiFiltersCollection.Add(filterElement);

serverManager.CommitChanges();

如果您不知道站点名称但知道站点ID(或IIS号),则可以通过执行以下操作来查询名称:

int iisNumber = 12345;
string siteName = serverManager.Sites.Single(s => s.Id == iisNumber).Name;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM