如何在Visual Studio中为生产环境配置Web引用

时间:2013-10-23 06:54:38

标签: c# .net web-services sharepoint sharepoint-2010

我正在开发一个将文档上传到sharepoint文件夹的应用程序。因为我的应用程序不能在服务器环境中运行,而是在客户端机器上运行,所以我决定使用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中编写我的应用程序。

提前谢谢

2 个答案:

答案 0 :(得分:1)

这是正确的佩德罗。

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

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

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

WSS.Lists svc = new WSS.Lists();
svc.Url = my sharepoint address + "/_vti_bin/Lists.asmx"

答案 1 :(得分:1)

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

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

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

这可以确保您可以使用所需的任何SharePoint站点,也可以将其放在配置文件中。