Sea*_*rey 12 c# .net-4.5 iis-8
在IIS7中,您曾经能够使用Microsoft.Web.Administrationdll来管理IIS.
我已将此引用添加到我的项目中,但运行以下代码会导致NotImplementedExceptionat site.Stop():
using (var server = new ServerManager())
{
var site = server.Sites.FirstOrDefault(s => s.Name == instanceName);
if (site != null)
{
site.Stop();
}
}
Run Code Online (Sandbox Code Playgroud)
是否有此API的更新版本或从.Net管理IIS的备用方法?
我宁愿不使用WMI,也不想appcmd在可能的情况下生成if 的实例.
我刚刚在 IIS 8 和 7 上测试了以下代码片段(分别使用来自 Windows 8 的 GAC 的 7.9.0.0 和来自 nuget 的 7.0.0.0 对于 2008 R2 机器)
我可以毫无问题地停止该网站:
var manager = new ServerManager();
manager.Sites[0].Stop();
manager.Dispose();
Run Code Online (Sandbox Code Playgroud)
我唯一需要特别做的就是以管理员身份显式运行 Linqpad 才能使其正常工作。也许这就是你的问题?Windows 8 / Server 2012 不会自动为您提供管理员访问权限,除非您的应用程序清单强制要求。我相信这也适用于 7 / 2008 R2,但无关紧要,因为您已明确标记为 IIS8(UAC ftw!)
| 归档时间: |
|
| 查看次数: |
3038 次 |
| 最近记录: |