You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.Net Core API调用Microsoft Graph API遇Excel工作簿会话暂停无效会话报错

错误原因分析
  • 异步创建会话时序异常:创建会话时添加了Prefer: respond-async异步请求头,接口会在后台会话完全初始化完成前就提前返回会话ID,此时立即携带该ID发起后续请求,就会偶发会话无效的错误,和实际请求耗时无关
  • 会话ID请求头格式错误:后续请求传递workbook-session-id头时,额外给会话ID包裹了大括号,Graph API要求该头直接传入原始会话ID字符串,多余的大括号可能导致部分请求解析会话ID失败
  • 服务端瞬态故障:Excel Online的会话调度存在极低概率的瞬态错误,即使所有配置正确,也可能出现会话被提前回收的情况
修复方案
  1. 改为同步创建会话:移除创建会话时的异步请求头,确保接口返回会话ID时后台资源已经完全就绪
WorkbookSessionInfo res = await _graphServiceClient.Groups[_groupId].Drive.Items[productStructureCalculator.CalculatorId].Workbook
    .CreateSession(persistChanges)
    .Request()
    .PostAsync();
  1. 修正会话ID请求头格式:去掉会话ID外层的大括号,直接传入原始值
.Header("workbook-session-id", sessionId)
  1. 新增错误重试逻辑:捕获invalidSessionReCreatable类型的错误后,自动重新创建会话再重试原请求,重试次数设置为2-3次即可覆盖绝大多数瞬态故障
  2. 优化会话生命周期管理:不要跨多个并发请求复用同一个会话ID,单次计算任务独立创建会话,任务完成后主动调用CloseSession接口释放资源,避免会话被后台误判为空闲回收

内容的提问来源于stack exchange,提问作者Wynand Coetzer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 21:09:00