我正在创建一个应用程序,最终用户可以配置它来访问用户输入的各种不同的SharePoint站点上的SharePoint列表。
我在网上看到的阅读SharePoint列表的所有示例都是这样的:
。
此方法基于指定的服务器引用在项目中创建代理类。但是,在我的示例中,服务器/站点在设计时不知道,只有通过读取用户指定的站点/列表来运行。如何做到这一点(通过http://intranet.wingtip.com/_vti_bin/ListData.svc读取列表,但仅在运行时)?
注意:我是从一台不同于运行Sharepoint的机器打这个电话的。
发布于 2011-06-09 02:55:14
有几个答案。
如果要查询的所有站点的列表架构都是一致的,则仍然可以使用生成的代理。创建DataContext时,只需将URI传递给用户选择的站点的ListData.svc。
如果没有,则可以使用带有适当格式URI的ASP.NET WebRequest,并解析返回的ATOM或JSON响应。
有关使用REST的更多信息,请参阅2009年SharePoint会议的讨论
http://msdn.microsoft.com/en-us/sharepoint/ff462048
发布于 2011-06-09 06:31:46
可以使用URL属性在运行时在代理类中设置Url。
发布于 2012-11-26 18:50:10
SharePoint不为他们的web服务提供代理类。因此,不可能在运行时设置url。我必须做的WHat是添加2个服务引用,然后对我要访问的引用进行参数化。我使用一个配置设置来确定要访问哪个配置设置。如果站点名称更改或列表更改,那么我需要删除引用,重新添加它们,重新编译和重新部署。无法在运行时更改SharePoint站点/列表。已经找了三天了。微软不知道如何做到这一点。
https://stackoverflow.com/questions/6286172
复制相似问题