fudiwei / DotNetCore.SKIT.FlurlHttpClient.Wechat

可能是全网最完整的 C# 版微信 SDK,封装全部已知的微信 OpenAPI,包含微信公众平台(订阅号+服务号+小程序+小游戏+小商店+视频号)、微信开放平台、微信商户平台(微信支付+微企付)、企业微信、微信广告平台、微信智能对话开放平台等模块,可跨平台。持续随官方更新,欢迎 Star/Fork/PR。QQ 交流群 875580418【满】、930461548【满】、611974621。
https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient
MIT License
1.47k stars 285 forks source link

[BUG] 获取微信OpenId异常 #110

Closed ljc1160 closed 10 months ago

ljc1160 commented 11 months ago

近期调用微信登录异常如下: Call failed. Resource temporarily unavailable (api.weixin.qq.com:443): GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=aaa&secret=bbb

百度后说微信 http keep-alive 时长为 20s,若20s后使用原始连接会报以上错误,对应帖子连接:https://juejin.cn/post/6865277186438496269

但实际代码中不存在超过20s的连接,且之前请求一直正常,对应代码如下,请协助解决,谢谢

// 获取连接 var client = CreateWeChatOpenClient();

var request = new CgibinTokenRequest(); var response = await client.ExecuteCgibinTokenAsync(request);

if (!response.IsSuccessful()) { throw new ApiResultException(ApiResultCodes.ServerInnerException, $"获取微信Token失败"); }

var openRequest = new SnsJsCode2SessionRequest { JsCode = code, AccessToken = response.AccessToken };

await client.ExecuteSnsJsCode2SessionAsync(openRequest, contextAccessor.HttpContext.RequestAborted);

fudiwei commented 11 months ago

偶发性的还是稳定复现?