【问题标题】:Kentico 12: System Wide Macro FailuresKentico 12:系统范围的宏故障
【发布时间】:2020-12-10 20:30:56
【问题描述】:

快速验证:我从 V7 开始就在 Kentico 平台上进行开发,跨越了十多年。我已经使用了从 EMS 到免费版的所有许可证,并且认为自己是 Kentico 专家。我定期构建自定义 Web 部件、表单控件、模块、计划任务、集成等,并取得了很大的成功。

大约一周前,我开始在我的一个网站上遇到灾难性的宏故障,当我继续详细解释时,请记住我已经 辞职 多次使​​用宏来解决这个问题。我的事件日志充满了宏错误:

一周前第一次发生这种情况时,我尝试了所有显而易见的事情(退出宏、重新启动应用程序池等)。经过数小时的失败尝试,我最终从一个全新的部署中创建了一个全新的站点,创建了一个新的数据库并从头开始重建该站点,一切似乎都运行良好。一两天。然后,同样的问题又发生了。这次我从头开始创建了一个全新的部署并将其连接到第二个数据库(我重新创建的第一个),它再次工作。一阵子。直到没有。现在我又来了,面临同样的问题,我不明白是什么导致了这个问题。

肯定是我的代码库或环境导致了这个问题,但我对底层的 Kentico 代码了解不多,无法确定在哪里查看。任何有类似经历的人,或者可以提供一些帮助的 Kentico 专家都将不胜感激。

注意:我不会扩展或自定义 CMSApp 项目中的任何代码。我在该文件夹中所做的唯一更改是 web.config 应用程序设置、连接字符串等。我的项目是从全新安装的 K12 分支而来的,我的所有自定义代码和组件都进入单独的项目。

编辑:从 Visual Studio(Windows 10 Pro 上的 2019 Enterprise)进行调试以及部署在生产服务器(Azure VM 上的 Windows Server 2016)上时会出现此问题。

【问题讨论】:

  • 您最近是从旧版本升级网站还是新安装的?最初签署这些宏的用户是否已被删除?
  • @BrendenKehren - 感谢您的回复。该网站未升级。 K12 直接来自安装程序,甚至没有任何修补程序。唯一的用户是默认 GlobalAdministrator。
  • 尝试应用最新的修补程序,退出宏,看看是否能解决问题。永远不要停留在任何 Kentico 版本的香草 XX.0 版本。
  • 哈希盐字符串集是什么?您是否在进行任何导出/导入、暂存或代码部署?如果是,请确保哈希盐在所有环境中都相同。在错误开始之前进行了哪些其他更改?如果它在几个月前运行良好,那么一定是有所改变。
  • @BrendenKehren - 在 Hotfix 12.0.91 之后我无法注销。 Sys.WebForms.PageRequestManagerServerErrorException 中的 NRE。安装了新的 12.0.29,执行了修补程序,错误被复制。

标签: kentico


【解决方案1】:

尝试使用超越比较文件将有问题的网站与相同版本的相同修补程序进行比较。看看文件系统是否有任何明显的差异。视图等缺少 xml。全局管理员是否已删除或设置为不允许?能不能新建一个神级用户,给那个用户设置宏?

【讨论】:

    【解决方案2】:

    所以答案是我从Custom Module 注册的Custom Macro Namespace 中的一个小故障。显然,该注册过程中的某些内容导致整个Macro Engine 崩溃。我实际上并不具体知道故障是什么,为了方便起见,我已经完全废弃了自定义宏。稍后我可能会谨慎地重新引入它们,因为我知道它们会对整个 Kentico 应用程序产生影响,但现在我需要启动这个项目。

    我无法确定为什么它在这些月之后开始起作用,因为命名空间中的宏在任何地方都没有使用,但至少我(我们)有答案。令我惊讶的是,没有日志条目表明该问题与自定义宏注册有关,并且缺少它肯定会花费我很多小时的诊断时间,但我很高兴分享这个问题确实在我身后,在久违了。

    【讨论】:

      猜你喜欢
      • 2020-10-17
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      相关资源
      最近更新 更多