2015-04-21 28 views
0

當在多個WFE場中觸發列表項事件接收器時,它會在其他WFE中觸發嗎?使多個WFE中的緩存無效的事件接收器

我目前沒有資源來自己測試,我的搜索在這個問題上沒有給出任何結論。

背景:我有一個Settings列表,用於存儲整個應用程序中使用的配置設置,這個列表對於普通用戶是不可訪問的,所以RunWithElevatedPrivileges用於讀取這些項目。許多這些項目經常被訪問,我正在考慮以緩存的形式存儲它們,並添加一個項目事件接收器,以便在修改時使緩存失效。

回答

0

在SharePoint場中,每個用戶請求都可能由不同的WFE服務器處理。這取決於負載平衡器的決定。因此,每個更新都可以由不同的WFE服務器處理,並且無論是否在同一臺服務器上觸發事件接收器都無關緊要。

您可以使用在與更新操作相同的線程中執行的同步事件接收器。但請記住,每個更新操作都可以由不同的服務器來處理。

問題的關鍵在於使用這種可供所有服務器訪問的緩存大小寫。內存緩存中沒有內容會幫助你。您需要緩存保存在例如SQL。這裏有MSDN,MSDN關於SharePoint緩存的文章。

請記住,並非所有數據都可以被緩存,因爲它們不是線程安全的。這意味着他們不能被堅持。這些通常是文件處理程序,TCP端口,...

+0

謝謝。我可能會重新設計我們如何保存設置,並將經常訪問的值移到sql表中。 – seven21