Jac*_*ack 5 c# iis configuration iis-7 servermanager
我试图以编程方式从IIS获取我的站点状态,看看它是否已停止,但我一直收到以下错误,
对象标识符不代表有效对象.(HRESULT异常:0x800710D8)
该应用程序使用ServerManager Site类来访问站点状态.这是代码,
//This is fine, gets back the site
var serverManager = new Microsoft.Web.Administration.ServerManager(ConfigPath);
var site = serverManager.Sites.FirstOrDefault(x => x.Id == 5);
if (site == null) return;
var appPoolName = site.Applications["/"].ApplicationPoolName;
//error!
var state = site.State;
Run Code Online (Sandbox Code Playgroud)
我已经使用静态站点进行测试以隔离问题,确保站点已启动并运行,所有配置都有效,指向有效的应用程序池...等.
如果您需要更多详细信息,请告诉我们.这是COM的事吗?
我想出了问题所在.基本上,服务器管理器有两个部分,服务器管理器的第一部分允许您从配置文件中读取站点详细信息,这是我上面所做的.问题是你只能获得文件和站点状态不属于它的信息.
服务器管理器的第二部分允许您直接连接到IIS,它通过与COM元素交互来完成此操作.所以我应该做的是:
ServerManager manager= ServerManager.OpenRemote("testserver");
var site = manager.Sites.First();
var status = site.State.ToString() ;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2878 次 |
| 最近记录: |