0

请帮我解决我的问题。

我想通过BDC Service有时将外部数据加载到Sharepoint并更新它,但我没有经验,Sharepoint所以我不知道该怎么做。

在 msdn 中,我发现 BDC 服务放置在此地址上http://<\site>/_vti_bin/Bdcadminservice.svc(我无法从我的客户端计算机打开链接)。但是有http://msdn.microsoft.com/en-us/library/ee538665.aspx页面,显示这个服务是供内部使用的。

我可以看到另一种方法 - 使用托管客户端对象模型,但我很困惑它使用了安装Microsoft.Sharepoint.dll附带的一些库(.. 和任何其他库) 。Sharepoint Server我找不到任何sdk,这很糟糕。

还有其他方法可以执行此任务吗?

或者,也许我从上面理解了错误的东西。

4

1 回答 1

1

如果我理解正确,您应该创建 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):

  1. 使用我上面建议的 BDC 模型,但模型将只是客户端代码的代理,并且来自此模型的代码将调用客户端(例如使用 WebServices)。在这种情况下,当用户需要新数据(例如通过单击外部列表)时,SP 会调用 BDC 模型中的代码,从而调用客户端计算机。也就是说,获取数据的发起者是SP,顺序是:User -> SP -> BDC model -> Client Data。
  2. 您可以在 SP 中创建自定义 WebService 以在客户需要时更新其列表。在这种情况下,您的客户端收到了新数据,并且知道必须在 SP 中更新它。在此之后,它通过您在 SP 端的自定义 WebService 进行调用,它使用 SP 对象模型将新数据添加到 SP。换句话说,更新的发起者是客户端。序列看起来很简单:客户端数据 -> 自定义 SP WebService,它会在 SP 端更新此数据。

在第一种情况下,您可以在 SP 端组织缓存(例如,每天不经常调用客户端一次)。

但是你要注意,当你有大量数据时,在 SP 中复制它(使用第二种方式)通常不是一个好主意,并且可能需要额外的努力来管理它(何时更新,哪些数据已经更新,如果部分数据被更新,而其他数据没有及时更新,用户获取数据时会得到不一致的数据等等)。

于 2012-10-08T12:48:31.667 回答