0

我在使用 API 访问集合 DocumentDB 时遇到问题。如果我从我的开发环境 (Visual Studio) 运行 API,它运行良好并返回集合中的所有 JSON 文档。延迟时间约为 1 分钟。但是当 API 部署在 Azure 中时,它不会返回任何内容。我还没有在 API 中实现 Application Insight。

API 的 C# 代码是:

string DatabaseId = ConfigurationManager.AppSettings["database"];
string CollectionId = ConfigurationManager.AppSettings["collectionExperimentos"];

DocumentClient client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"],
new ConnectionPolicy
{
    ConnectionMode = ConnectionMode.Direct,
    ConnectionProtocol = Protocol.Tcp
});
var collectionLink = UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId);
List<Experiment> experimentosList = new List<Experiment>();
experimentosList = client.CreateDocumentQuery<Experiment>(collectionLink).ToList();
experimentosList = experimentosList.OrderByDescending(experimentos => DateTime.Parse(experimentos.dateCreated)).ToList();

集合大小为 160MB,没有分区。

4

1 回答 1

0

这些症状表明应用程序无法连接到数据库。这可能是由于应用程序无法读取 Azure 应用服务设置中定义的数据库终结点和密钥。

string DatabaseId = ConfigurationManager.AppSettings["database"];
string CollectionId = ConfigurationManager.AppSettings["collectionExperimentos"];

DocumentClient client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"],

您可以在此处找到有关如何在 Azure 应用服务(我假设它是一个 Web 应用)中配置环境变量和连接字符串的更多信息:https ://azure.microsoft.com/en-us/documentation/articles/web-网站配置/

于 2016-10-20T07:15:20.340 回答