Sitecore:InvalidOperationException:无法同步执行异步操作方法“搜索”

Sitecore: InvalidOperationException: The asynchronous action method 'Search' cannot be executed synchronously

我们在 .NET 4.0 下使用 Sitecore 6.6,并使用 MVC 4。我们正在尝试在其中实现异步控制器和异步操作。

我们使用 ajax 请求调用此操作。我们已经设置了一个到操作的路由,并将该路由添加到 IgnoreUrlPrefixes 配置 属性。

然而,在 sitecore 之外工作的相同操作只会 returns 以下异常(包括堆栈跟踪):

[InvalidOperationException: The asynchronous action method 'Search' cannot be executed synchronously.]
System.Web.Mvc.Async.AsyncActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +133 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +39 
System.Web.Mvc.<>c__DisplayClass13.<InvokeActionMethodWithFilters>b__10() +124 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +855026 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) +855026 
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +309 
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +345 

我在论坛上看到 Sitecore 同步执行 (http://sdn.sitecore.net/forum//ShowPost.aspx?PostID=66991)。

我想知道我需要采取哪些步骤才能从 ajax 请求中异步调用此操作?

我们无法使用 .NET 4.5,因此需要使用旧式的异步操作而不是使用 'await' 关键字

任何可以提供的帮助都会很有帮助。

谢谢

根据以下 table,不幸的是,Sitecore 6.6 不支持 MVC 4,这可能是您看到这些错误的原因:https://kb.sitecore.net/articles/087164