我正在为.Net使用1.4.1版本的DocumentDB客户端,当我尝试更新集合中的文档时,我收到此错误:
DocumentClientException:服务器无法解析Url .
当我做:
await _repository.Client.ReplaceDocumentAsync(DocumentsLink, document);
其中Client是DocumentClient,DocumentsLink是路径dbs / 9TBhAA的URI == / colls / 9TBhANQ4yAA = / docs /
以这种方式构建:
public Uri DocumentsLink
{
get
{
if (string.IsNullOrEmpty(_documentsLink))
{
_documentsLink = _repository.Collection.DocumentsLink;
}
return new Uri(_documentsLink, UriKind.Relative);
}
}
并记录一个简单的json doc .
此代码在同一数据库上的不同集合上运行良好 .
如果我使用linq扩展并传递字符串而不是相对URI,我会得到相同的错误 .
有人指出如何解决这个问题?
1 回答
那很奇怪;你确定这在同一个数据库中的不同集合上工作吗?
ReplaceDocumentAsync()
需要特定文档的完整路径 . 路径dbs/9TBhAA==/colls/9TBhANQ4yAA=/docs/
仅解析为集合 .你需要追加文件的删除 - 看起来像这样:
dbs/UtJlAA==/colls/UtJlAKU5IAE=/docs/UtJlAKU5IAELAAAAAAAAAA==/