0

我们正在将现有的 Sitefinity 10.x 站点转移到新的托管服务提供商,但遇到了一系列问题。

首先,我们将站点从当前主机备份并恢复到我们的本地开发环境,并在大约 10 分钟内启动并运行 - 没有问题。

我们再次备份所有内容,然后按照以下说明在共享托管环境中部署到新的托管服务提供商:https ://www.progress.com/documentation/sitefinity-cms/deploy-projects-to-shared-hosting

结果是,Sitefinity 似乎认为它需要安装/升级并最终导致抛出异常循环,在 App_Data 的 Logs 目录中创建非常大的文件,包括大小在 6 到 20Mb 之间的 Error 和 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
4

1 回答 1

0

实际上,事实证明它相当简单。

  1. 我添加<clear />到数据配置文件以删除 machine.config 对 DB 的配置。这就是我意识到数据库还原出了点问题的地方。
  2. 在托管服务提供商站点上使用 SolidCP,我认为数据库恢复是成功的,但结果却是默默地失败了。
  3. ISP 进行了成功的手动还原
  4. 最后,我们添加<clear />到 SiteMapProvider 设置,因为 ISP 还安装了 MySql 提供程序,如果您不清除机器配置的 SiteMaps 配置,则会导致 Sitefinity 出现问题。

之后,一切都按预期进行。

于 2020-11-06T12:58:38.710 回答