2012-04-06 92 views
1

我正在寻找一种体面有效的方式,只使用客户端对象模型来监听SharePoint网站上的List更改。我理解这个想法是多么的落后,但我试图在安装时不必将任何库推送到SharePoint服务器。一切都应该落在本地机器上。使用SharePoint客户端对象模型监听列表更新

我想过一个类只是循环一个计时器,并保持查询成功查询的最后日期ClientContext,但这似乎非常低效。

我知道这是一个客户对象模型,但有什么办法让仅来自客户端的变化来自服务器的通知?

回答

1

恐怕这不可能通过使用客户端对象模型。如果您需要频繁轮询用户体验的性能太慢,您需要在服务器端捕获列表更改。请将注册SPItemEventReceiver的功能部署到您的列表中。

我明白你不愿意将服务器端代码推送到SP场;没有它,您可以将讨论和解释保存到客户的管理员。但是,有些任务只有在服务器上运行时才更高效,甚至可行。你可以考虑Sandbox Solutions这样的功能。它们被部署到SP ,而不是由服务器场管理员,但由网站集管理员通过友好的Web UI部署到网站集。这需要更少的特权,更宽松的公司政策来遵守,并且可以更好地被客户接受。您只能在您的网站集中开发,测试甚至使用您的解决方案,而不会影响整个服务器场。微软甚至建议,尽可能在沙盒解决方案中设计功能齐全的解决方案,将最低限度的必要条件放到服务器场解决方案中。

如果不可能将整个应用程序部署为沙盒解决方案,则可以将收集更改的沙盒解决方案与外部网站合并,以请求从网站集合收集数据,或者使用仅客户端应用程序正如你正在谈论的那样。 (沙盒解决方案有一个很大的限制:不能从内网站集之外做出web请求;你只能从外面访问该网站集

--- Ferda

相关问题