c# - Microsoft Graph v1.0 getSchedule api 很慢
问题描述
我正在引用 Microsoft Docs https://docs.microsoft.com/en-us/graph/api/calendar-getschedule?view=graph-rest-1.0&tabs=http
我正在尝试向https://graph.microsoft.com/v1.0/me/calendar/getSchedule发送请求。
我得到了成功的响应,但有时 API 很慢,尤其是在初始页面加载时可能需要超过 10 秒。但是,当我再次发送请求时,只需要 0.3 秒。
以下是我的发送请求代码:
System.Net.ServicePointManager.ServerCertificateValidationCallback =
delegate { return true; };
WebRequest request = WebRequest.Create(
" https://graph.microsoft.com/v1.0/me/calendar/getSchedule ");
string param = "{\"schedules\":[\"" + userPrincipalName + "\"],";
param += "\"startTime\" : {\"dateTime\": \"" + startTime
+ "\",\"timeZone\": \"Taipei Standard Time\"},";
param += "\"endTime\" : {\"dateTime\": \"" + endTime
+ "\",\"timeZone\": \"Taipei Standard Time\"},";
param += "\"availabilityViewInterval\" : 60}";
request.Method = "POST";
request.ContentType = "application/json";
request.Headers["Authorization"] = " Bearer " + token;
request.Headers["Prefer"] = "outlook.timezone=\"Taipei Standard Time\"";
using (var streamWriter = new StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(param);
}
try
{
var httpResponse = (HttpWebResponse)request.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
WebUtility.WriteAjaxResult(true, null, result);
}
}
放缓发生在GetResponse
. 我System.Diagnostics.Stopwatch
用来计算需要多长时间var httpResponse = (HttpWebResponse)request.GetResponse();
。反应用了 14 秒。
使用 Postman 发送请求比我的后端请求更快,更稳定。
希望有大神解答一下原因,谢谢!
解决方案
推荐阅读
- asp.net-mvc - MVC 临时数据通过单独的页面请求持续存在?
- r - 如何使用ggplot / R填充与填充直方图不同的颜色轮廓?
- javascript - 如何生成特定的字符串数组?
- maven - Gradle 5.3 发布 SNAPSHOT BadRequest 错误
- sql-server - 如何使用外键创建表之间的快捷方式
- java - 具有相同类的 JPA ClassCastException
- ruby - Ruby 中的 Rake:main:Object 的未定义方法“命名空间”(NoMethodError)
- php - 如何爆炸括号中的一些文本?
- loops - 循环遍历 Ansible 数组的子集
- php - Wordpress PHP Snippet 将链接重定向到另一个链接