Sitefinity 在部署到生产服务器后开始升级
Sitefinity starts upgrade after deploying to production server
我们正在将现有的 Sitefinity 10.x 网站迁移到新的托管服务提供商,但 运行 遇到了一系列问题。
首先,我们将站点从当前主机备份并恢复到我们的本地开发环境,并在大约 10 分钟内启动并 运行 - 没有问题。
我们再次备份所有内容,然后按照以下说明在共享托管环境中部署到新的托管服务提供商:https://www.progress.com/documentation/sitefinity-cms/deploy-projects-to-shared-hosting
结果是 Sitefinity 似乎以某种方式认为它需要 install/upgrade 并最终陷入抛出异常的循环,在 App_Data 的日志目录中创建非常大的文件,包括错误和大小在 6 到 20Mb 之间的 UpgradeTrace 日志文件。
我在这里错过了什么?这通常很容易做到。
这是系统初始化过程输出的一小部分示例。
HandlingInstanceID: a7548528-e50b-4c45-ac31-14997da528e2 An exception of type 'System.Exception' occurred and was caught.
----------------------------------------------------------------
11/05/2020 08:30:45 Type : System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message :
FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) -
Exception has been thrown by the target of an invocation.
Source :
Help link :
Data : System.Collections.ListDictionaryInternal
TargetSite : HResult : -2146233088 Stack Trace : The stack trace is unavailable.
Additional Info:
MachineName : --hidden-- TimeStamp : 2020/11/05 6:30:45 AM
FullName : Telerik.Sitefinity.Utilities, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563
AppDomainName : /LM/W3SVC/556/ROOT-1-132490314385720168
ThreadIdentity : Anonymous WindowsIdentity : --hidden\hidden--
Requested URL : http://127.0.0.1/
Inner Exception ---------------
Type : System.Reflection.TargetInvocationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Exception has been thrown by the target of an invocation.
Source : mscorlib Help link :
Data : System.Collections.ListDictionaryInternal
TargetSite : System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
HResult : -2146232828
Stack Trace :
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Telerik.Sitefinity.Abstractions.UpgradeMethod.Execute(Object upgradeContext)
at Telerik.Sitefinity.Abstractions.SiteInitializer.Upgrade[TUpgradeInfoAttribute](Object instance, Int32 upgradeFrom, Object upgradeContext)
Inner Exception --------------- Type :
Telerik.Sitefinity.SitefinityExceptions.ItemNotFoundException, Telerik.Sitefinity, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563 Message :
You are trying to access item that no longer exists. The most probable reason is that it has been deleted by another user.
Source : Unity_ILEmit_DynamicClasses Help link : Data : System.Collections.ListDictionaryInternal
TargetSite : Telerik.Sitefinity.Pages.Model.PageNode GetPageNode(System.Guid) HResult : -2146233088 Stack Trace :
at DynamicModule.ns.Wrapped_OpenAccessPageProvider_325400689b95401abccc69f6d0957c5f.GetPageNode(Guid id)
at Telerik.Sitefinity.Modules.Pages.PageManager.GetPageNode(Guid id)
at Telerik.Sitefinity.Abstractions.SiteInitializer.UpgradeTo1106()
Expand 08:57:24
FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) - Exception has been thrown by the target of an invocation.
08:57:24
Upgrading Progress Sitefinity CMS from build version 1 to 6400.
08:57:24
System is initializing...
08:57:24
其实很简单
- 我将
<clear />
添加到数据配置文件以删除
machine.config 的数据库配置。这是我意识到的地方
数据库还原出了点问题。
- 在托管服务提供商网站上使用 SolidCP 我认为数据库恢复
成功了,结果却悄无声息地失败了
- ISP 进行了成功的手动恢复
- 最后我们将
<clear />
添加到 SiteMapProvider 设置中,因为 ISP 还安装了 MySql 提供程序,如果您不清除 machine.config 的配置,这会导致 Sitefinity 出现问题站点地图。
在那之后一切都按预期进行。
我们正在将现有的 Sitefinity 10.x 网站迁移到新的托管服务提供商,但 运行 遇到了一系列问题。
首先,我们将站点从当前主机备份并恢复到我们的本地开发环境,并在大约 10 分钟内启动并 运行 - 没有问题。
我们再次备份所有内容,然后按照以下说明在共享托管环境中部署到新的托管服务提供商:https://www.progress.com/documentation/sitefinity-cms/deploy-projects-to-shared-hosting
结果是 Sitefinity 似乎以某种方式认为它需要 install/upgrade 并最终陷入抛出异常的循环,在 App_Data 的日志目录中创建非常大的文件,包括错误和大小在 6 到 20Mb 之间的 UpgradeTrace 日志文件。
我在这里错过了什么?这通常很容易做到。
这是系统初始化过程输出的一小部分示例。
HandlingInstanceID: a7548528-e50b-4c45-ac31-14997da528e2 An exception of type 'System.Exception' occurred and was caught.
----------------------------------------------------------------
11/05/2020 08:30:45 Type : System.Exception, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message :
FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) -
Exception has been thrown by the target of an invocation.
Source :
Help link :
Data : System.Collections.ListDictionaryInternal
TargetSite : HResult : -2146233088 Stack Trace : The stack trace is unavailable.
Additional Info:
MachineName : --hidden-- TimeStamp : 2020/11/05 6:30:45 AM
FullName : Telerik.Sitefinity.Utilities, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563
AppDomainName : /LM/W3SVC/556/ROOT-1-132490314385720168
ThreadIdentity : Anonymous WindowsIdentity : --hidden\hidden--
Requested URL : http://127.0.0.1/
Inner Exception ---------------
Type : System.Reflection.TargetInvocationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : Exception has been thrown by the target of an invocation.
Source : mscorlib Help link :
Data : System.Collections.ListDictionaryInternal
TargetSite : System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
HResult : -2146232828
Stack Trace :
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) at Telerik.Sitefinity.Abstractions.UpgradeMethod.Execute(Object upgradeContext)
at Telerik.Sitefinity.Abstractions.SiteInitializer.Upgrade[TUpgradeInfoAttribute](Object instance, Int32 upgradeFrom, Object upgradeContext)
Inner Exception --------------- Type :
Telerik.Sitefinity.SitefinityExceptions.ItemNotFoundException, Telerik.Sitefinity, Version=10.0.6400.0, Culture=neutral, PublicKeyToken=b28c218413bdf563 Message :
You are trying to access item that no longer exists. The most probable reason is that it has been deleted by another user.
Source : Unity_ILEmit_DynamicClasses Help link : Data : System.Collections.ListDictionaryInternal
TargetSite : Telerik.Sitefinity.Pages.Model.PageNode GetPageNode(System.Guid) HResult : -2146233088 Stack Trace :
at DynamicModule.ns.Wrapped_OpenAccessPageProvider_325400689b95401abccc69f6d0957c5f.GetPageNode(Guid id)
at Telerik.Sitefinity.Modules.Pages.PageManager.GetPageNode(Guid id)
at Telerik.Sitefinity.Abstractions.SiteInitializer.UpgradeTo1106()
Expand 08:57:24
FAILED : SiteInitializer : Upgrade to 1106 (Upgrade backend pages accessible to all in Backend role) - Exception has been thrown by the target of an invocation.
08:57:24
Upgrading Progress Sitefinity CMS from build version 1 to 6400.
08:57:24
System is initializing...
08:57:24
其实很简单
- 我将
<clear />
添加到数据配置文件以删除 machine.config 的数据库配置。这是我意识到的地方 数据库还原出了点问题。 - 在托管服务提供商网站上使用 SolidCP 我认为数据库恢复 成功了,结果却悄无声息地失败了
- ISP 进行了成功的手动恢复
- 最后我们将
<clear />
添加到 SiteMapProvider 设置中,因为 ISP 还安装了 MySql 提供程序,如果您不清除 machine.config 的配置,这会导致 Sitefinity 出现问题站点地图。
在那之后一切都按预期进行。