2010-10-26 138 views
2

我正在开发一个SharePoint 2010的解决方案,包括一些Web部件和其他组件时,资源文件部署到管理中心的App_GlobalResources文件夹。此外,解决方案需要管理中心中的应用程序页面进行配置。自动部署解决方案到Web应用程序

所以我的解决方案包含一个额外的功能,放在链接到提供配置的应用程序页面管理中心菜单的自定义操作。该功能具有范围WebApplication和使用属性AutoActivateInCentralAdmin设置为True因此该功能在管理中心启动时自动的解决方案部署到Web应用程序。我的解决方案的这一部分按预期工作。

但我有关于它的使用在管理中心的应用程序页面,因为它们只部署到Web应用程序的文件夹App_GlobalResources的解决方案部署,但不得的了App_GlobalResources资源文件的一些问题中央行政。

所以我想知道为什么当资源文件没有自动部署到管理中心的App_GlobalResources文件夹时使用AutoActivateInCentralAdmin

什么是每当解决方案部署到服务器场中的任何Web应用程序的资源文件部署到中央主管机关App_GlobalResources文件夹的最佳方式?有没有一种自动的方法呢?

回答

2

我们在这里谈论的应用程序资源(而不是分配资源),他们应该被部署到{} SharePointRoot \ CONFIG \ Resources文件夹。确保在部署WSP时,将应用程序页面使用的资源文件部署到该文件夹​​。

当创建一个新的Web应用程序,资源最初复制到App_GlobalResources文件夹,你在这里很好。

但是,当已经创建Web应用程序(这是你的情况下),你需要的资源被复制到现有的Web应用程序。你可以用这个命令手动执行此

STSADM -o copyappbincontent

或者您也可以通过在您FeatureActivated事件在功能接收下列自动(这是你想要的)这一点。对于管理中心的资源和站点地图,拨打

SPWebService.AdministrationService.ApplyApplicationContentToLocalServer(); 。

对于常规应用程序页面资源和站点地图,

SPFarm.Local.Services.GetValue()ApplyApplicationContentToLocalServer();

+0

纠正我,如果我错了,但两者STSADM -o copyappbincontent和ApplyApplicationContentToLocalServer()中,只有资源文件复制到本地服务器上。因此,在一个农场,你将不得不执行命令(一个或席恩每个前端Web服务器。该解决方案是我没有选择。 – Flo 2010-10-26 15:59:40

+0

忽略我的第一个评论,我按下“添加注释”之前,我完成了它。==>纠正我,如果我错了,但stsadm -o copyappbincontent和ApplyApplicationContentToLocalServer()只复制本地服务器上的资源文件。所以在一个农场你会遇到两个问题。使用stsadm,您必须在每台前端服务器上执行该命令。通过功能接收器中的ApplyApplicationContentToLocalServer()方法,资源只能在激活功能的服务器上复制,而不能在所有前端服务器上复制。所以这两个选项都不适合我。 – Flo 2010-10-26 16:17:30

+0

我看到你的顾虑。有些人遇到过类似的问题,我知道在MOSS世界里,他们最终得到了在功能激活期间启动的自定义计时器作业。作为调查的一部分,您可能会遇到这个问题,但仍然可以:http://sharepointinterface.com/2009/06/06/the-applyapplicationcontenttolocalserver-method-and-why-it-comes-up-short/ – 2010-10-26 17:31:28

1

您需要创建一个自定义计时器作业本。如果你在互联网上搜索,有些人已经开发了这样的工作。

相关问题