在自定义Sharepoint Web服务中使用SPSite和SPWeb

时间:2013-07-25 14:03:20

标签: c# wcf web-services sharepoint sharepoint-2010

我目前正在为Sharepoint 2010网站编写自定义Web服务。此代码旨在将一个文件夹的内容复制到sharepoint上。

目前,我的代码使用'SPSite(SourceURL).openWeb()'来访问该站点的SPWeb对象。但是,我的代码崩溃并给我以下错误

  

无法找到“SourceURL”上的Web应用程序。验证您是否正确输入了URL。如果URL应该为现有内容提供服务,则系统管理员可能需要将新请求URL映射添加到预期的应用程序。

在我的代码中,SourceURL是格式为“https://sitename.com”的主网站的网址。

感谢您的帮助,
斯科特

编辑:以下是导致错误的方法:

public void CopyFolderContents(String sourceURL, String folderURL, String destinationURL)
    {
        using (SPWeb oWebsite = new SPSite(sourceURL).OpenWeb())
        {
            SPFolder oFolder = oWebsite.GetFolder(folderURL);

            //Create a list of all files (not folders) on the current level
            SPFileCollection collFile = oFolder.Files;

            //Copy all files on the current level to the target URL
            CopyToTarget(collFile, destinationURL);

            //Create a list of all folders on the current level
            SPFolderCollection collFolder = oFolder.SubFolders;

            //Copy each of the folders and all of their contents
            EnumerateFolders(collFolder, destinationURL);

        }
    }

1 个答案:

答案 0 :(得分:0)

您的Web服务似乎没有在64位应用程序池中运行。如果使用API​​的进程未以64位运行,则SharePoint会抛出该异常。还不确定使用正确的位数编译项目。请参阅thisthis