gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 17:14:25 25 4
gpt4 key购买 nike

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

我刚找到 this Article (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;

关于c# - 使用 Microsoft.Web.Administration 将 ISAPI 筛选器添加到现有站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8729879/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com