UpdateListItems 抛出 "Cannot access a closed Stream."
UpdateListItems throws "Cannot access a closed Stream."
我一直在尝试找出某些文档在使用 Web 应用程序中的 list.asmx 服务上传到库时所面临的问题。
我遵循的步骤:
- 使用复制服务上传文档。
- 更新上传的文档属性。
我在更新某些文档的属性时遇到问题。我不知道是文档大小还是文档类型导致了问题。
如果我说它是文件大小或类型,那可能是错误的,因为我上传了相同类型和更大尺寸的类似文件,无一例外。
按照我用来更新文档属性的代码。
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);
例外是
故障异常详情:
Cannot access a closed Stream.
提前致谢。
后来我发现,我尝试上传的文档在文件属性属性中除了特殊字符外还有一些奇怪的字符。
所以删除这些字符后,它工作正常。
我一直在尝试找出某些文档在使用 Web 应用程序中的 list.asmx 服务上传到库时所面临的问题。
我遵循的步骤:
- 使用复制服务上传文档。
- 更新上传的文档属性。
我在更新某些文档的属性时遇到问题。我不知道是文档大小还是文档类型导致了问题。
如果我说它是文件大小或类型,那可能是错误的,因为我上传了相同类型和更大尺寸的类似文件,无一例外。
按照我用来更新文档属性的代码。
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);
例外是
故障异常详情:
Cannot access a closed Stream.
提前致谢。
后来我发现,我尝试上传的文档在文件属性属性中除了特殊字符外还有一些奇怪的字符。
所以删除这些字符后,它工作正常。