ログインページへのリダイレクト中に「Cannot redirect after HTTP headers have been sent」エラー


説明

ログインしたユーザーが一定期間操作を行わなかった後に新しい要求を実行しようとすると、エラーが発生する可能性があります。たとえば、ログインしている状態でSitecoreのスタート画面で一定期間何もしておらず、ユーザー セッションの有効期限が切れた後に任意のアプリケーションを開こうとした場合です。 
次のMVCエラーがログに記録されます:

4132 13:08:18 INFO  AUDIT (sitecore\**): Logout
4132 13:08:18 WARN  Protected page accessed with no current user
4132 13:08:18 ERROR Failed to render rendering
Exception: System.InvalidOperationException
Message: Error while rendering view: '/sitecore/shell/client/Speak/Layouts/Renderings/Common/PageCodes/PageCode.cshtml' (model: 'Sitecore.Mvc.Presentation.RenderingModel, Sitecore.Mvc').
Source: Sitecore.Mvc
   at Sitecore.Mvc.Presentation.ViewRenderer.Render(TextWriter writer)
   at Sitecore.Mvc.Pipelines.Response.RenderRendering.ExecuteRenderer.Render(Renderer renderer, TextWriter writer, RenderRenderingArgs args)
Nested Exception
Exception: System.Web.HttpException
Message: Cannot redirect after HTTP headers have been sent.
Source: System.Web
   at System.Web.HttpResponse.Redirect(String url, Boolean endResponse, Boolean permanent)
   at Sitecore.Shell.Web.ShellPage.GotoLoginPage(HttpContext httpContext, Boolean returnAfterLogin)
  ... 4132 13:08:18 ERROR Failed to render rendering
Exception: System.InvalidOperationException
Message: Error while rendering view: '/sitecore/shell/client/Speak/Layouts/Layouts/Speak-Layout.cshtml' (model: 'Sitecore.Mvc.Presentation.RenderingModel, Sitecore.Mvc').
Source: Sitecore.Mvc
  ...

解決法

本事象を解決するには 、次のページにある影響を受ける製品バージョンと互換性のあるパッチをダウンロードしてインストールしてください:
https://github.com/SitecoreSupport/Sitecore.Support.101417/releases
その他のリリースのソリューションを入手するには、Sitecoreサポートに連絡してください。