【问题标题】:SharePoint 2010 - Custom service application, global deployment, service runs on single server only?SharePoint 2010 - 自定义服务应用程序、全球部署、服务仅在单个服务器上运行?
【发布时间】:2011-06-13 19:57:11
【问题描述】:

经过近一周的研究和与 Microsoft 支持打交道后,我想我会在这里问,因为我觉得我离答案还很远,不想花更多时间来解决这个问题。

我已根据网上提供的所有示例和文档创建了一个自定义 SharePoint 2010 服务应用程序。

我的环境是一个有两台服务器的场,其中 server1 是我的管理中心和数据库主机(以及大量其他 SharePoint 服务),而 server2 具有相同的功能列表,只是我已继续禁用所有服务。我现在的想法是专门使用 server2 作为我的“定制服务”服务器。一旦我为我们的服务器场设计了最佳拓扑结构,这可能会在未来发生变化,但为了测试目的,最好区分这样的服务器。

因此,我在 Visual Studio 2010 中对我的自定义服务应用程序进行了全部编码,并且我能够成功执行全局部署,这样我的解决方案中的二进制文件就会添加到两台服务器的程序集和 hive 文件夹中。我通过查看解决方案管理下的特定解决方案属性以及查看底层日志来验证此部署。

然后我继续并激活管理农场功能下的功能。

此时,虽然我尚未创建服务应用程序或其代理,但该服务在 server1(这也是 Visual Studio 在本地运行的服务器)上显示为“已停止”服务,但不在 server2 上.所以我在“管理服务应用程序”下创建了一个新的服务应用程序并启动该服务,一切似乎都很好,除了 server2 似乎在任何地方都没有这个服务。

所以我想知道,我究竟需要做什么才能让该服务在两台服务器上运行?最终我将在 server1 上停止它并使用 server2 上的服务实例作为场中的唯一实例,但要做到这一点,我需要能够让它显示在 server2 上。

我希望这是有道理的,我试图让它尽可能清楚,但如果还有什么不清楚的地方,请告诉我,我会尽力以不同的方式解释。

根据我的阅读,这完全有可能在 SharePoint 场中的各种应用程序服务器上运行相同服务的实例......但是我似乎无法让它工作!

对此的任何帮助将不胜感激。

干杯。

【问题讨论】:

  • 好吧,看来我找到了问题所在。我从未告诉 SharePoint 为场中的每台服务器创建单独的服务实例。我现在已经将该代码添加到安装事件接收器中,并且一切都按预期工作。还是谢谢!
  • 如果您将此添加为您的问题的答案会很好 - 甚至可能是更多技术细节。然后你可以接受你自己的答案——这样你就可以帮助和你有同样问题的人。或者你可以删除这个问题。
  • 我遇到了完全相同的问题,在将 serviceInstance 添加到场中的每台服务器后,我成功地看到了每台服务器上的实例。但我认为我仍然缺少一些东西。如果我从我的场中停止一台应用程序服务器(我的场有 2 台应用程序服务器)并且我尝试调用另一台(我的自定义应用程序服务),则调用总是转到关闭的服务器并且从不使用可用的服务实例。还有什么可做的吗?你试过了吗?

标签: visual-studio wcf sharepoint sharepoint-2010 application-server


【解决方案1】:

似乎对于自定义“服务应用程序”解决方案的所有全球部署,SharePoint 2010 会在部署时自动创建服务实例,然后再进行任何其他操作。这可以通过查看场中每个服务器的服务列表来验证。这真的很奇怪,因为它现在这样做是以前没有的,所以毕竟可能不需要手动创建服务实例作为部署后供应阶段的一部分。有谁知道 SharePoint 2010 究竟从哪里获得了执行此操作的指令?我很想知道这一切是如何在幕后发生的!

【讨论】:

    猜你喜欢
    • 2013-05-18
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多