编程语言
首页 > 编程语言> > Sharepoint / C#:确定本地服务器是否为Web前端

Sharepoint / C#:确定本地服务器是否为Web前端

作者:互联网

我试图确保我当前正在运行一段代码的服务器是Web前端服务器.我认为这可能像这样简单:

SPServer.Local.Role.ToString().Equals("WebFrontEnd")

但是,如果除了同一服务器上的应用服务器等之外还运行WFE,这将返回“应用程序”,并且无法正确地将其标识为Web前端.

我的想法是通过确定Microsoft SharePoint Foundation工作流Web应用程序(服务)是否已启动并在服务器上运行.可以通过转到Central Admin>确定.系统设置>在服务器上管理服务.

我需要在C#中以编程方式进行此操作.我相当确定可以通过powershell来获得这些服务及其状态,这是一个可行的解决方案,但是我不确定无论哪种方式都可以做到.

编辑-我知道一种使用以下代码遍历“服务”的方法:

SPServiceCollection services = SPFarm.Local.Services;

foreach (SPService service in services) {

}

但是,其中包括一些看起来与“服务器上的服务”下的列表可疑的项目,但所有项目的状态均为“在线”,并且似乎不包含此项目.

解决方法:

我不在要检查的机器上,但是我觉得您在SPServer.Local.ServiceInstances方面会更有运气-听起来它应该在服务器上而不是一般在服务器场上提供服务.

标签:c,sharepoint-2010,sharepoint
来源: https://codeday.me/bug/20191031/1979002.html