2

我正在开发一个将文档上传到共享点文件夹的应用程序。因为我的应用程序不会在服务器环境中运行,而是在客户端计算机上运行,​​所以我决定使用 Sharepoint 提供的 Web 服务来上传文档(my sharepoint address+ _vti_bin/copy.asmx)并签入上传的文件(my sharepoint address+ /_vti_bin/Lists .asmx)。

我的问题是my sharepoint address零件。我用于开发的 Sharepoint 当然与客户使用的不同。由于我必须在开发时添加服务的 Web 引用才能在 C# 代码中使用它,我应该如何处理?

我必须至少获得共享点地址的主要部分 - 比如说https://sharepoint/projects/ProjectX/并用它声明我的 WS?

如果它有所不同,我最终将使用 WiX 部署我的应用程序,生成一个 .msi 可执行文件。我的共享点是 2010 年,我正在使用 .NET 4.0 在 VS2010 中编写我的应用程序。

先感谢您

4

2 回答 2

1

那是正确的佩德罗。

您应该指向my sharepoint address网站的 url,而不是根网站集,而是您要访问服务的网站。

然后您有 2 个选项,您可以更改 Visual Studio 代理作为构建脚本的一部分生成的配置文件上的地址(抱歉不知道 Wix,但我敢打赌可以做到)

或者您可以在运行时设置 url,它将忽略 Visual Studio 生成的配置文件中的那个:

WSS.Lists svc = new WSS.Lists();
svc.Url = my sharepoint address + "/_vti_bin/Lists.asmx"
于 2013-10-23T07:51:38.193 回答
1

路易斯的回答非常正确。您可以做的另一种方法是使用 wsdl.exe 创建代理类。这将创建一个可以在项目中使用的类实例。获得文件后,您只需更新变量URL的值,使其与您的共享点 URL 匹配。

您还可以更新构造函数,如下所示:

public Lists(string SERVER)
{
    this.Url = "http://" + SERVER + "/_vti_bin/Lists.asmx";
}

这确保您可以使用任何您想要的 SharePoint 网站或将其放置在配置文件中。

于 2013-10-23T09:16:56.750 回答