2010-01-28 82 views
0

我有一个类从SPItemEventReceiver继承并实现ItemAdded,ItemUpdated和ItemDeleted。这些都工作得很好,我得到我需要的数据。SharePoint SPItemEventReceiver环境配置

但是,我想通过Web服务将一些数据推送到第三方服务器。没有硬编码每个环境的端点,为各种环境(dev/test/production)配置Web服务的外部依赖关系的最佳方法是什么?

如果可能,我宁愿避免使用任何静态* .ini类型的文件。我可以将配置部分添加到SharePoint的web.config并从事件处理程序中读取它吗?

回答

1

把它想的是 - 如果你创建了相同类型的另一个网站,并具有相同的事件接收器,一切会发生什么。你会继续使用相同的配置吗?这是每个列表的设置吗?每个网站?每个服务器场?如果您决定它是服务器场设置,那么web.config对您有好处。如果您认为每个网络需要不同的配置,那么您必须在其他地方坚持配置。例如,如果它处于网络级别,则可以将配置字符串写入SPWeb.Properties。稍后可以从该对象轻松读取此设置,例如SPContext.Current.Web.Properties["RemoteWebServiceURL"]。您还可以将该值设置为小型的PowerShell脚本。对象有一个类似的属性包。

+0

有关进一步说明: 我们有一个SharePoint服务器,其中有一个我们正在监视的列表,并且对于生产环境,会有一个与之通信的Web服务(通过事件侦听器)。然而,在Web服务开发过程中,我们有几个环境(dev/test/uat/production),我需要能够根据需要切换SharePoint进行通信。 似乎web.config路线是要走的路。 – Mark 2010-01-28 20:26:05