功能事件处理程序为农场级功能多次调用 - sharepoint 2007

发布于 2024-10-10 22:09:54 字数 181 浏览 1 评论 0原文

我有一个农场范围的功能,其中有一个事件处理程序。该功能在安装时默认激活。安装该功能后,我发现 FeatureActivated 事件已引发多次(我总共有三个网络应用程序,不包括中央管理,它被调用了三次)。

因此,功能部署非常慢(因为我正在为每个 Web 应用程序进行一些 Webconfig 修改)。

有什么想法吗?

I've a farm scoped feature which has an event handler. The feature is activated by default on installation. After I installed the feature I found that the FeatureActivated event has been raised mutiple times (I've three web apps in total excluding central admin and it is called three times).

Because of this the feature deployment is extremely slow (as I'm doing some webconfig modifications for each web application).

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

画中仙 2024-10-17 22:09:54

我过去也遇到过类似的问题。我在 FeatureReceiver 中创建了一个静态标志,指示它之前是否已触发。

肮脏,但有效。

I have had a similar problem in the past. I created a static flag in the FeatureReceiver that indicates if it has triggered before.

Dirty, but effective.

萤火眠眠 2024-10-17 22:09:54

如果您将其设为场范围内的功能,那么第一次安装当然会更容易,但在 6 个月内,当您创建另一个 Web 应用程序时,设置将不会自动应用,并且可能会被忘记。

不过,如果您在功能定义中使用属性 ActivateOnDefault="TRUE" 将其设置为 Web 应用程序范围的功能,则该功能将在所有新 Web 应用程序创建时在它们中激活。

http://msdn.microsoft.com/en-us/library/ms436075.aspx

我希望您使用 SPWebConfigModification 来更改 web.config,否则如果您向服务器场添加新服务器,则 web.config mods 也不会被应用。

http://msdn.microsoft.com/en-us /library/microsoft.sharepoint.administration.spwebconfigmodification.aspx

If you make it a farm scoped feature, then the first install we be easier, sure, but then in 6 months when you create another web application, the settings wont be applied automatically and likely forgotten.

If though, you make it a web application scoped feature with the property ActivateOnDefault="TRUE" in your feature definition, then the feature will be activated in all new web applications when they are created.

http://msdn.microsoft.com/en-us/library/ms436075.aspx

And i hope you are using SPWebConfigModification to make the web.config changes, otherwise if you add new servers to the farm, then the web.config mods wont be applied either.

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.administration.spwebconfigmodification.aspx

嘿咻 2024-10-17 22:09:54

您是否需要对所有 Web 应用程序进行这些 web.config 更改?包括中央管理?

我要做的第一个更改是使其成为 Web 应用程序范围内的功能,并有选择地在所需的 Web 应用程序上激活。

另外,不要在安装时默认激活它。如果您通过脚本进行部署,请使用单独的命令进行激活。这样,您就可以轻松调试瓶颈是否存在于部署或激活中。

Do you need these web.config changes for all the web apps ? Including central admin ?

The first change I would do is to make it a Web Application scoped feature and selectively activate on required web application.

Also, do not make it Activate by default on installation. If you are deploying through script, have a separate command for activation. That way, you can easily debug if the bottleneck is in deployment or activation.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文