1

在 Sitecore Rocks 1.4.0.0 中通过 Commandy 预览 Sitecore 7.0 解决方案中的项目时,该命令会启动浏览器并按预期导航到 /sitecore/shell/WebService/browse.aspx,但出现以下错误:

编译器错误消息:CS0117:“Sitecore.Web.Authentication.TicketManager”不包含“IsCurrentTicketValid”的定义

具体来说,它抱怨browse.aspx 中的第8 行,它是Sitecore Rocks 的一部分。

我怎样才能让这个功能正常工作?我可以在 Sitecore Content Manager 或 Desktop 中正确预览,但 Sitecore Rocks 的目的是让我不必在 Visual Studio 和 Content Manager/Desktop 之间来回切换。

4

1 回答 1

1

browse.aspx 第 8 行和第 9 行的条件进行了 Sitecore 7.0 中 Sitecore.Kernel.dll 中不存在的调用;它包含 .aspx 文件中的内联代码,因此您可以直接编辑它以使其正常工作:

  if (Sitecore.Context.User.Identity.IsAuthenticated && 
    Sitecore.Web.Authentication.TicketManager.IsCurrentTicketValid() && 
    !Sitecore.Security.Authentication.AuthenticationHelper.IsAuthenticationTicketExpired()) 
  {
    Sitecore.Web.WebUtil.Redirect(redirect);
    return;
  }

变成

  if (Sitecore.Context.User.Identity.IsAuthenticated) 
  {
    Sitecore.Web.WebUtil.Redirect(redirect);
    return;
  }

...然后你又开始运行了。

于 2015-04-11T16:29:02.620 回答