サーバーの再起動後に「InvalidOperationException」例外がスローされる


説明

サイトのデプロイ後またはスケール アウト中にサーバーが再起動する際に、未処理の例外がスローされる場合があります。本問題は、再起動後のアプリケーションへの最初のリクエストでのみ発生します。アプリケーションへの2回目以降の全てのリクエストは、正常に処理されます。本問題は、スケーリングやサイト訪問者には大きな影響は与えません。ただし、次のエラー メッセージが記録される場合があります。

[InvalidOperationException: Illegal recursion detected: GetModel]
   Sitecore.Mvc.Common.RecursionPreventer..ctor(String title, Flag flag) +173
   Sitecore.Mvc.Presentation.Rendering.GetModel() +73
   Sitecore.Mvc.Presentation.Rendering.get_Model() +31
   Sitecore.XA.Foundation.Mvc.Wrappers.Rendering.get_Item() +35
   Sitecore.XA.Feature.SiteMetadata.Repositories.MetadataBaseRepository`1.GetMetatag(String property, ID fieldId) +33
   Sitecore.XA.Feature.SiteMetadata.Repositories.MetadataBaseRepository`1.<BuildModelMapping>b__4_0(KeyValuePair`2 id) +24
   System.Linq.WhereSelectEnumerableIterator`2.MoveNext() +302
   System.Linq.WhereEnumerableIterator`1.MoveNext() +124
   System.Collections.Generic.List`1..ctor(IEnumerable`1 collection) +436
   System.Linq.Enumerable.ToList(IEnumerable`1 source) +69
   Sitecore.XA.Feature.SiteMetadata.Repositories.TwitterMetadata.TwitterMetadataRepository.GetMetaTags() +36
   Sitecore.XA.Feature.SiteMetadata.Repositories.MetadataBaseRepository`1.GetModel() +73
   Sitecore.XA.Feature.SiteMetadata.Controllers.TwitterMetadataController.GetModel() +26
   Sitecore.XA.Feature.SiteMetadata.Controllers.MetadataController.Index() +22
   lambda_method(Closure , ControllerBase , Object[] ) +90
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +229
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +35
   System.Web.Mvc.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() +80
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +452
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +452
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +530

本問題は、SXAバージョン1.6.0 - 1.8.1で発生します。

解決策

本問題を解決するには、次のページで適切なパッチをダウンロードしてインストールします。
https://github.com/SitecoreSupport/Sitecore.Support.247244/releases

他のSXA リリースのソリューションの場合は、Sitecoreサポートにお問い合わせください。