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

DNN 9.11.0站点随机出现发送异常,咨询原因及关闭更新API方法

DNN 9.11.0 站点GetUpdateInfo API随机异常问题排查与解决

问题描述

同一服务器上的多个DNN 9.11.0站点(包括未添加第三方模块的全新站点)会随机触发以下General Exception日志:

AbsoluteURL:/API/personabar/serversummary/GetUpdateInfo
Message:基础连接已关闭: 发送时发生意外错误。
StackTrace:
at System.Net.HttpWebRequest.GetResponse()
at Dnn.PersonaBar.UI.Services.ServerSummaryController.GetJsonObject[T](String url)
at Dnn.PersonaBar.UI.Services.ServerSummaryController.RetrieveUpdateUrl(CacheItemArgs args)
InnerMessage:无法从传输连接读取数据: 远程主机强制关闭了一个现有的连接。

同时浏览器开发者工具报错:Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.

目前站点功能无异常,但该API为模块更新检查接口,担忧异常会引发未知问题,访问各类页面(包括故意输入错误URL测试404页面)时偶尔出现该日志。

疑问:是否为防火墙问题?能否关闭该API调用?


问题分析与解决方案

1. 是否为防火墙问题?

大概率是防火墙或内网网络策略导致的:

  • 该API的作用是向DNN官方服务器发起更新检查请求,企业内网通常会限制出站流量,防火墙可能会拦截这类请求,或者在请求过程中强制断开连接,从而触发日志中“远程主机强制关闭连接”的错误。
  • 异常随机出现的原因,可能是防火墙规则并非严格拦截,而是在流量检测过程中偶尔触发断开机制,也可能是DNN官方服务器响应不稳定导致连接中断。

2. 能否关闭该API调用?

可以通过以下几种方式禁用更新检查功能,从而阻止该API的触发:

方式一:后台配置关闭更新检查

  • 登录站点Persona Bar,进入Settings > Site Settings > Advanced Settings > Other Settings
  • 找到Check for Updates选项,设置为False后保存配置。

方式二:修改web.config配置

  • 打开站点根目录下的web.config文件,添加或修改以下配置项:
<add key="AutoUpdate.Enabled" value="false" />
<add key="AutoUpdate.CheckFrequency" value="0" />
  • 保存文件后,站点将不再发起更新检查请求,该API调用也会停止。

方式三:批量禁用(适用于多站点场景)

如果需要批量处理服务器上的多个站点,可以自定义DNN扩展,在启动时禁用ServerSummaryController中的更新检查逻辑,或者通过依赖注入替换相关服务实现。这种方式需要具备一定的DNN开发能力。

额外说明

  • 禁用更新检查后,站点将不再自动检测DNN核心及模块的更新,需要手动关注官方更新信息并执行升级操作。
  • 浏览器开发者工具中的Unchecked runtime.lastError错误,通常与浏览器扩展或前端通信有关,和该API异常无直接关联,可忽略或排查浏览器端扩展问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 20:43:28