2010-01-28 88 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