
免费推荐:IIS安装
这个类是基于 Microsoft.Web.Administration 写的一个简单封装:
PS: Microsoft.Web.Administration 可通过 Nuget 搜索安装。
public class IISAdministration
{
private readonly ServerManager serverManager;
public IISAdministration()
{
serverManager = new ServerManager();
}
public IEnumerable<workerprocess> GetWorkerProcesses()
{
return serverManager.WorkerProcesses;
}
public IEnumerable<string> GetSiteNames()
{
foreach (var item in GetWorkerProcesses())
{
yield return item.AppPoolName;
}
}
public ConfigurationElementCollection GetIpSecurityCollection(string site)
{
return GetConfigurationElementCollection("system.webServer/security/ipSecurity", site);
}
public ConfigurationElementCollection GetConfigurationElementCollection(string sectionName, string site = "")
{
var config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection section;
if (string.IsNullOrWhiteSpace(site))
{
section = config.GetSection(sectionName);
}
else
{
section = config.GetSection(sectionName, site);
}
return section.GetCollection();
}
public void CreateElement(ConfigurationElementCollection section, ConfigurationElement element)
{
section.Add(element);
serverManager.CommitChanges();
}
public void RemoveElement(ConfigurationElementCollection section, ConfigurationElement element)
{
section.Remove(element);
serverManager.CommitChanges();
}
public bool HasBlocked(string siteName, string ip)
{
var ipSecurityCollection = this.GetIpSecurityCollection(siteName);
for (int i = 0; i <p>使用方法:</p>
<pre class="brush:php;toolbar:false;">var iisAdministration = new IISAdministration();
iisAdministration.BlockIP("", "192.0.0.1");
注意:
-
BlockIP第一个参数为站点名,如果空字符串,则直接添加到IIS根路径下的IP屏蔽。 - 此方法会抛出异常,而且需要管理员权限才可执行。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











