我正在尝试使用 Servermanager 读取站点的状态。基本上这就是我所拥有的,
var serverManager = new ServerManager(siteInstance.Server.ConfigPath);
var site = serverManager.Sites.FirstOrDefault(x => x.Id == Convert.ToInt64(siteInstance.IisIdentifier));
return site.State.ToString();
我能够毫无问题地读取配置文件和站点详细信息。但是该站点的状态要么是给我下面的 COM 错误,要么给出的状态不能反映 IIS 中站点的实际状态。
The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)
据我了解,配置文件仅包含站点信息。它不指示哪些 IIS 服务器正在从配置中读取。那么 ServerManager 是如何知道要查看哪个 IIS 来查找站点的运行状态的呢?