携帯電話でSXAサイトをロードする際に、「Illegal recursion detected」エラーが発生する


解説

SXAサイトのページが、携帯電話またはデスクトップ ブラウザーのモバイル モードでリクエストされた場合、高CPU使用率または未処理の例外が発生し、読み込みに失敗する可能性があります。本問題の原因は、携帯電話向けのコンポーネント バリアント フィールドを使用する際に、ページ読み込みの無限再帰が発生することです。次のメッセージがログに記録されます。

Exception: System.InvalidOperationException
Message: Illegal recursion detected: GetModel
Source: Sitecore.Mvc
at Sitecore.Mvc.Common.RecursionPreventer..ctor(String title, Flag flag)
at Sitecore.Mvc.Presentation.Rendering.GetModel()
at Sitecore.Mvc.Presentation.Rendering.get_Model()
at Sitecore.XA.Foundation.Mvc.Wrappers.Rendering.get_Item()
...

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

解決策

本問題を解決するには、次のいずれかのオプションを検討してください。