如何加快对Microsoft图形端点的调用?

时间:2019-01-31 14:15:04

标签: azure microsoft-graph

我们调用了Microsoft Graph的组和用户终结点,他们需要200毫秒以上才能完成。进行呼叫的Web应用程序作为应用程序服务托管在Azure(美国中南部)中。对于某些用户,我们需要针对每个用户请求进行多次调用,这大大降低了我们的应用程序的速度。我已经查看了MS Graph的最佳实践和已知问题,但没有找到解决方法。缓存是加快速度的唯一方法吗?

我们已审查的文档:
https://docs.microsoft.com/en-us/graph/best-practices-concept
https://docs.microsoft.com/en-us/graph/known-issues

我们看到此延迟的端点是:
https://graph.microsoft.com/v1.0/groups
https://graph.microsoft.com/v1.0/users

我们已经看到HttpClient REST调用和SDK的延迟相同。如果我们呼叫单个用户或所有用户,则得到相同的延迟。

使用HttpClient在Azure数据中心内花费200毫秒以上的代码:

var accessToken = await GetBearerAccessToken();

var url = "https://graph.microsoft.com/v1.0/users/" + id;

using (var client = new HttpClient())
{
     using (var request = new HttpRequestMessage(HttpMethod.Get, url))
     {
         request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

         using (var response = await client.SendAsync(request))
         {
              if (response.StatusCode == HttpStatusCode.OK)
              {
                   var json = await response.Content.ReadAsStringAsync();
                   result = JsonConvert.DeserializeObject<Salesperson>(json);
              }
          }
      }
}

0 个答案:

没有答案