Microsoft.Azure.Documents.DocumentClientException:服务器无法解析Url

本文关键字:Url 服务器 Azure Documents DocumentClientException Microsoft | 更新日期: 2023-09-27 18:12:09

我正在使用。net的1.4.1版本的DocumentDB客户端,当我试图更新集合中的文档时,我得到这个错误:

DocumentClientException: Server could not parse the Url.

当我这样做的时候:

await _repository.Client.ReplaceDocumentAsync(DocumentsLink, document);

其中Client是DocumentClient, DocumentsLink是路径dbs/9TBhAA==/colls/9TBhANQ4yAA=/docs/

是这样构造的:

public Uri DocumentsLink
{
    get
    {
        if (string.IsNullOrEmpty(_documentsLink))
        {
            _documentsLink = _repository.Collection.DocumentsLink;
        }
        return new Uri(_documentsLink, UriKind.Relative);
    }
}

和一个简单的json文档。

此代码在同一数据库的不同集合上运行良好。

如果我使用linq扩展并传递字符串而不是相对URI,我会得到相同的错误。

谁有建议如何解决这个问题?

Microsoft.Azure.Documents.DocumentClientException:服务器无法解析Url

真奇怪;您确定这对同一数据库中的不同集合有效吗?

ReplaceDocumentAsync()需要到特定文档的完整路径。路径dbs/9TBhAA==/colls/9TBhANQ4yAA=/docs/只能解析为一个集合。

你需要添加文档的rid -它看起来像这样:dbs/UtJlAA==/colls/UtJlAKU5IAE=/docs/UtJlAKU5IAELAAAAAAAAAA==/