我已经开发和部署了基于C# SDK的azure机器人,该机器人使用语言(自定义问答)服务来回答用户的问题。
前端部分是sharepoint,它应该是另一个sharepoint站点的The部分。
该机器人在模拟器或测试webchat (在门户中)中运行良好,但在从运行它时,我面临着重复欢迎消息的问题。
响应网络聊天的过程如下:
Posted activity, assigned ID ${id}),error => console.log(Error posting activity ${error}) )};它成功地获取了令牌。
public render(): React.ReactElement方法中,我加载包装在面板(Office面板)下的<ReactWebChat directLine={this.state.directLine}这整个过程和与bot的沟通都很好,但是我无法追踪为什么欢迎屏幕会反复加载我们的周期性时间。
我在调试期间发现的一个观察是,member.id是我在令牌生成过程中生成的GUID,而转储上下文接收id与member.id类似,它似乎是一个应用服务@一些随机id,我真的不知道它是如何生成的。
因此,比较案例总是失败并显示欢迎卡的原因是可能的。
任何帮助,以简化流程高度赞赏,因为我是新的SPFX和特别的反应,我不知道如何控制客户端代码。
作为参考,我在这里附上了截图。提前谢谢你。

发布于 2022-09-14 08:10:08
根据微软的说法,230秒的超时是应用服务负载均衡器配置的一部分,它不能被改变。同样的超时窗口也适用于WebSocket连接。它既适用于HTTP触发功能,也适用于Azure应用服务。
Azure负载均衡器的默认空闲超时设置为4分钟。此设置通常是web请求的合理响应时间限制。因此,如果应用程序在大约240秒内不返回响应,app将返回一个超时( Windows应用程序为230秒,Linux应用程序为240秒)
正式文件:为什么我的请求在230秒后超时?
所以下面的代码会对你有帮助,
let activity: EventActivity = { type: 'event', name: 'eventName', value: null, from: null };
setInterval(() => { this.directLine.postActivity(activity).subscribe() }, 200000);这基本上会在每200秒之后发送一个空白/虚拟活动,从而防止超时。
https://stackoverflow.com/questions/71666114
复制相似问题