首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServerManager如何查找给定站点的状态

ServerManager如何查找给定站点的状态
EN

Stack Overflow用户
提问于 2012-12-11 13:48:23
回答 2查看 1.3K关注 0票数 3

我正在尝试使用Servermanager读取网站的状态。基本上这就是我所拥有的,

代码语言:javascript
复制
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中网站的实际状态。

代码语言:javascript
复制
The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)

据我所知,配置文件只包含站点信息。它不指示哪些IIS服务器正在从配置中读取数据。那么,ServerManager如何知道应该查看哪个IIS来查找站点的运行状态呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-13 07:42:36

获取站点的原因是因为您试图从站点配置文件中读取状态,该文件不包含站点的状态。相反,您应该像这样直接连接到IIS服务器:

代码语言:javascript
复制
ServerManager manager= ServerManager.OpenRemote("testserver");
var site = manager.Sites.First();
var status = site.State.ToString() ;

有关详细信息,请参阅我下面的帖子:Programmatically get site status from IIS, gets back COM error

票数 1
EN

Stack Overflow用户

发布于 2012-12-11 13:57:21

签出此网站..我在谷歌上搜索了Execption +错误代码,我认为这应该可以帮助您找到正确的方向

The object identifier does not represent a valid object. (Exception from HRESULT: 0x800710D8)

如果本文不能解决问题或问题,请尝试以下方法。另外,还要粘贴.config文件外观的一个片段。

已在IIS管理器中检查ApplicationPool以验证您是否具有DefaultAppPool。即使您不使用它,IIS有时仍然需要它来实现一些自动化。

查看system32\inetsrv\config\applicationHost.config或通过IIS管理UI查看。

例如:

代码语言:javascript
复制
<applicationPools>  
        <add name="DefaultAppPool" />  
      <add name="Classic .NET AppPool" managedPipelineMode="Classic" />         <applicationPoolDefaults>    
          <processModel identityType="ApplicationPoolIdentity" />                     </applicationPoolDefaults>
</applicationPools>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13814382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档