在使用 Web 管理获取 IIS7 上的站点 ID 和状态时,我需要帮助。我有这个代码
private string getSiteIdByName(string siteName)
{
DirectoryEntry root = getDirectoryEntry("IIS://" + textServer.Text + "/W3SVC");
foreach (DirectoryEntry e in root.Children)
{
if (e.SchemaClassName == "IIsWebServer")
{
if (e.Properties["ServerComment"].Value.ToString().Equals(siteName, StringComparison.OrdinalIgnoreCase))
{
return e.Name;
}
}
}
return null;
}
private void showStatus(string siteId)
{
string result = "unknown";
DirectoryEntry root = getDirectoryEntry("IIS://" + textServer.Text + "/W3SVC/" + siteId);
PropertyValueCollection pvc;
pvc = root.Properties["ServerState"];
if (pvc.Value != null)
result = (pvc.Value.Equals((int)ObjectState.Start) ? "Running" :
pvc.Value.Equals((int)ObjectState.Stop) ? "Stopped" :
pvc.Value.Equals((int)ObjectState.Pause) ? "Paused" :
pvc.Value.ToString());
labelStatus.Text = result + " (" + pvc.Value + ")";
}
但它确实不适用于我们的某些服务器。有没有办法为此使用 Web 管理?非常感谢任何帮助。
谢谢!