UpdateListItems抛出"无法访问已关闭的流。"

时间:2015-05-08 07:26:29

标签: web-services sharepoint-2013

在网络应用程序中使用list.asmx服务在库中上传时,我一直试图找出某些文档面临的问题。
我遵循的步骤:

  1. 使用复制服务上传文档。
  2. 更新上传的文档属性。
  3. 我在更新其属性时遇到了一些文档的问题。我不知道文档大小或文档类型是否会导致问题。 如果我说它是文档大小或类型,它可能是错误的,因为我上传了相同类型和更大尺寸的类似文档,没有例外。
    按照我用来更新文档属性的代码。

            XmlDocument doc = new XmlDocument();
            XmlElement batch = doc.CreateElement("Batch");
            batch.SetAttribute("OnError", "Continue");
            batch.SetAttribute("ListVersion", "1");
            batch.SetAttribute("ViewName", viewname);
            batch.InnerXml = "<Method ID='1' Cmd='Update'>" +
                             "<Field Name='ID'>" + id + "</Field>" +
                             "<Field Name='" + columnName + "'>" + colValue + "</Field></Method>";
            XElement xElement = Utility.ToXElement(batch);
    
            //ListsSoapClient object
            var proxy = Utility.GetServerListProxy();
            proxy.UpdateListItems(listname, xElement);
    

    例外是

      

    SoapServerException

    故障异常详情:

      

    无法访问已关闭的流。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

后来我发现,我试图上传的文件除了文件属性属性中的特殊字符外还有一些奇怪的字符。

所以删除这些字符后,它工作正常。