本文整理汇总了C#中Microsoft.Azure.Documents.Client.DocumentClient.ReadDocumentFeedAsync方法的典型用法代码示例。如果您正苦于以下问题:C# DocumentClient.ReadDocumentFeedAsync方法的具体用法?C# DocumentClient.ReadDocumentFeedAsync怎么用?C# DocumentClient.ReadDocumentFeedAsync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Microsoft.Azure.Documents.Client.DocumentClient
的用法示例。
在下文中一共展示了DocumentClient.ReadDocumentFeedAsync方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Dashboards
public IEnumerable<Dashboard> Dashboards() {
if (_dashboards != null && _dashboardLoaded.Add(_cacheLife) < DateTime.UtcNow) {
return _dashboards;
}
var connection = new DocumentDbConnectionString(_connectionString);
using (var client = new DocumentClient(connection.AccountEndpoint, connection.AccountKey)) {
var database = client.ReadDatabaseFeedAsync().Result;
var dashboardCollection =
client.ReadDocumentCollectionFeedAsync(
database.Single(x => x.Id == connection.DatabaseName).CollectionsLink).Result;
var dashboards =
client.ReadDocumentFeedAsync(dashboardCollection.Single(x => x.Id == "dashboards").DocumentsLink)
.Result;
_dashboards = dashboards.Select(x => new Dashboard {
Title = x.GetPropertyValue<string>("Title"),
Slug = x.GetPropertyValue<string>("Slug"),
Sections = x.GetPropertyValue<IEnumerable<DashboardSection>>("Sections")
}).OrderBy(x => x.Title);
_dashboardLoaded = DateTime.UtcNow;
return _dashboards;
}
}
示例2: AttemptAdminOperationsAsync
private static async Task AttemptAdminOperationsAsync(string collectionLink, Permission permission)
{
using (DocumentClient client = new DocumentClient(new Uri(endpointUrl), permission.Token))
{
//try read collection > should succeed because user1 was granted Read permission on col1
var docs = await client.ReadDocumentFeedAsync(collectionLink);
foreach (Document doc in docs)
{
Console.WriteLine(doc);
}
//try iterate databases > should fail because the user has no Admin rights
//but only read access to a single collection and therefore
//cannot access anything outside of that collection.
try
{
var databases = await client.ReadDatabaseFeedAsync();
foreach (Database database in databases) { throw new ApplicationException("Should never get here"); }
}
catch (DocumentClientException de)
{
//expecting an Unauthorised exception, anything else, rethrow
if (de.StatusCode != HttpStatusCode.Unauthorized) throw;
}
}
}
示例3: AttemptReadFromTwoCollections
private static async Task AttemptReadFromTwoCollections(List<string> collectionLinks, List<Permission> permissions)
{
//Now, we're going to use multiple permission tokens.
//In this case, a read Permission on col1 AND another read Permission for col2
//This means the user should be able to read from both col1 and col2, but not have
//the ability to read other collections should they exist, nor any admin access.
//the user will also not have permission to write in either collection
using (DocumentClient client = new DocumentClient(new Uri(endpointUrl), permissions))
{
FeedResponse<dynamic> response;
//read collection 1 > should succeed
response = await client.ReadDocumentFeedAsync(collectionLinks[0]);
//read from collection 2 > should succeed
response = await client.ReadDocumentFeedAsync(collectionLinks[1]);
//attempt to write a doc in col 2 > should fail with Forbidden
try
{
await client.CreateDocumentAsync(collectionLinks[1], new { id = "not allowed" });
//should never get here, because we expect the create to fail
throw new ApplicationException("should never get here");
}
catch (DocumentClientException de)
{
//expecting an Forbidden exception, anything else, rethrow
if (de.StatusCode != HttpStatusCode.Forbidden) throw;
}
}
return;
}