【问题标题】:Servermanager isnt supported in IIS 8 and aboveIIS 8 及更高版本不支持服务器管理器
【发布时间】:2015-07-31 04:55:37
【问题描述】:

我想检查 IIS 中是否存在应用程序池。为此,我使用 servermanager 如下-->

ServerManager mgr = new ServerManager();
  if (mgr.ApplicationPools["myapplicationpoolname"] == null)
{
//My Procedure to create application pool as app pool doesnt exist
}

这在 IIS 7.5 及以下版本上运行顺利。但在 IIS 8 及以上版本中,由于内存泄漏问题,无法使用上述方式。我什至在 MSDN 上尝试了以下建议的解决方法-->

 var mgr = ServerManager.OpenRemote("localhost");

仍然没有运气。由于无法在 IIS 8 及更高版本中使用 servermanager,我感到很困惑:(任何帮助将不胜感激:)

【问题讨论】:

  • 我终于使用 appcmd.exe 参数解决了我的问题 :)..可能没有其他选择 :)

标签: c# application-pool servermanager


【解决方案1】:

ServerManager 在 Windows 8 或更高版本中应该可以正常工作,请确保您引用的是位于 Windows\system32\inetsrv 中的正确版本。还要确保您没有“复制 DLL 的版本”,此 DLL 应始终从 GAC 加载并从 inetsrv 目录引用,否则您可能会遇到版本控制问题。

【讨论】:

  • Mate Windows 8 或更高版本带有嵌入式 IIS 8.5,由于内存泄漏问题不支持 servermanager 类。请查看 msdn msdn.microsoft.com/en-us/library/…
  • 我不确定你从哪里得到这些信息,但是 Windows 8.1 和 Windows 10 绝对支持 ServerManager。这是使用托管代码管理 IIS 配置的官方方式(我先知道手),如果您遇到内存泄漏,我认为最好的办法是打电话给我们,我们可以帮助您解决问题。如果是这种情况,请随时与我联系,我可以帮助您查看。如果您正在处理,最终应该回收的东西。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-22
  • 1970-01-01
  • 2014-08-18
  • 1970-01-01
  • 1970-01-01
  • 2022-11-08
  • 1970-01-01
相关资源
最近更新 更多