我正在尝试在 DNN Evoq Basic 上从 2sxc v.14.11.00 升级到 2sxc 16.07.00。在我的网站的测试版本上执行升级后,我的大多数自定义应用程序均已成功升级,但一个应用程序的现有实例(最近构建的一个)会导致其所在的 DNN 页面完全损坏。在 DNN 管理日志中,我收到以下错误消息:
AbsoluteURL:/Default.aspx
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:5ca78c40-c1bd-47dc-8ee9-fa25cea13519
AssemblyVersion:9.11.0
PortalId:0
UserId:-1
TabId:840
UserAgent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36
ExceptionHash:cHcp53K7qlaX48ozZlBrNSATb7A=
Message:Error trying to run ZoneIdOfApp(-100) - probably something wrong with the appId
StackTrace:
InnerMessage:Error trying to run ZoneIdOfApp(-100) - probably something wrong with the appId
InnerStackTrace:
at ToSic.Eav.Caching.AppsCacheBase.ZoneIdOfApp(Int32 appId, IAppLoaderTools tools) in C:\Projects\2sxc\eav-server\ToSic.Eav.Core\Caching\Apps\AppsCacheBase.cs:line 192
at ToSic.Eav.Apps.AppStates.IdentityOfApp(Int32 appId) in C:\Projects\2sxc\eav-server\ToSic.Eav.Core\Apps\AppStates.cs:line 35
at ToSic.Eav.Persistence.Efc.Efc11Loader.LoadBasicAppState(Int32 appId) in C:\Projects\2sxc\eav-server\ToSic.Eav.Persistence.Efc\Efc11Loader_App.cs:line 35
at ToSic.Eav.Persistence.Efc.Efc11Loader.AppState(Int32 appId, Boolean ensureInitialized) in C:\Projects\2sxc\eav-server\ToSic.Eav.Persistence.Efc\Efc11Loader_App.cs:line 98
at ToSic.Eav.Caching.AppsCacheBase.GetOrBuild(IAppLoaderTools tools, IAppIdentity appIdentity, String primaryLanguage) in C:\Projects\2sxc\eav-server\ToSic.Eav.Core\Caching\Apps\AppsCacheBase.cs:line 139
at ToSic.Lib.Helpers.GetOnce`1.Get(Func`1 generator) in C:\Projects\2sxc\eav-server\ToSic.Lib.Core\Helpers\GetOnce.cs:line 37
at ToSic.Sxc.Web.LightSpeed.LightSpeed.ExistingGenerator() in C:\Projects\2sxc\2sxc\Src\Sxc\ToSic.Sxc\Web\LightSpeed\LightSpeed.cs:line 182
at ToSic.Lib.Helpers.GetOnce`1.Get(Func`1 generator) in C:\Projects\2sxc\eav-server\ToSic.Lib.Core\Helpers\GetOnce.cs:line 37
at ToSic.Sxc.Dnn.View.<>c__DisplayClass16_0.<Page_PreRender>b__1() in C:\Projects\2sxc\2sxc\Src\Dnn\ToSic.Sxc.Dnn\View.ascx.cs:line 0
at ToSic.Lib.Logging.LogCallBaseExtensions.DoInTimer(ILogCall logCall, Action action) in C:\Projects\2sxc\eav-server\ToSic.Lib.Core\Logging\LogCall\LogCallBaseExtensions.cs:line 15
at ToSic.Sxc.Dnn.View.<Page_PreRender>b__16_0() in C:\Projects\2sxc\2sxc\Src\Dnn\ToSic.Sxc.Dnn\View.ascx.cs:line 116
at ToSic.Lib.Logging.ILog_Actions.Do(ILog log, String parameters, Action action, Boolean timer, Boolean enabled, String message, String cPath, String cName, Int32 cLine) in C:\Projects\2sxc\eav-server\ToSic.Lib.Core\Logging\Log\ILog_Actions.cs:line 64
at ToSic.Sxc.Dnn.View.Page_PreRender(Object sender, EventArgs e) in C:\Projects\2sxc\2sxc\Src\Dnn\ToSic.Sxc.Dnn\View.ascx.cs:line 113
at System.Web.UI.Control.OnPreRender(EventArgs e)
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Control.PreRenderRecursiveInternal()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
删除应用程序并将其重新添加到页面后,问题就消失了。但是,我的生产站点上有此应用程序的许多实例,并且希望避免手动修复此问题的每个实例。有没有办法确保在生产中升级时不会出现此问题?
如果这种情况不是一直发生,首先要尝试的是重新启动应用程序池;更好的是设置/服务器,在顶部重新启动应用程序。请务必等到其完成(刷新 2 到 3 个页面)。重新加载页面并查看问题是否发生在任何地方。
这不是一个已知问题。
我同意杰里米的观点,尝试重新启动;)
否则请检查最新的 v17.01.07+,看看问题是否消失。