如果我理解正确,您应该创建 BDC 模型。在这种情况下,Sharepoint 将调用您的自定义方法(获取外部数据),您可以在 Sharepoint 外部列表中看到它。
您可以从这里开始:http: //msdn.microsoft.com/en-us/sp2010devtrainingcourse_businessconectivityserviceslab_topic4.aspx
您也可以观看此视频:http: //msdn.microsoft.com/en-us/vstudio/ff623022.aspx
如果还不够,请告诉我,我会尽力为您提供更多详细信息。
更新1:如果所有这些软件都应该在客户端运行是强制性的。我可以看到两种方法(在这两种方法中,您都不需要在客户端使用额外的 SP dll):
- 使用我上面建议的 BDC 模型,但模型将只是客户端代码的代理,并且来自此模型的代码将调用客户端(例如使用 WebServices)。在这种情况下,当用户需要新数据(例如通过单击外部列表)时,SP 会调用 BDC 模型中的代码,从而调用客户端计算机。也就是说,获取数据的发起者是SP,顺序是:User -> SP -> BDC model -> Client Data。
- 您可以在 SP 中创建自定义 WebService 以在客户需要时更新其列表。在这种情况下,您的客户端收到了新数据,并且知道必须在 SP 中更新它。在此之后,它通过您在 SP 端的自定义 WebService 进行调用,它使用 SP 对象模型将新数据添加到 SP。换句话说,更新的发起者是客户端。序列看起来很简单:客户端数据 -> 自定义 SP WebService,它会在 SP 端更新此数据。
在第一种情况下,您可以在 SP 端组织缓存(例如,每天不经常调用客户端一次)。
但是你要注意,当你有大量数据时,在 SP 中复制它(使用第二种方式)通常不是一个好主意,并且可能需要额外的努力来管理它(何时更新,哪些数据已经更新,如果部分数据被更新,而其他数据没有及时更新,用户获取数据时会得到不一致的数据等等)。