【发布时间】:2015-07-21 21:24:54
【问题描述】:
我试图弄清楚为什么 Umbraco 7.2.4 似乎无法在我的 ASP.NET MVC 控制器中处理异步任务。我觉得我已经阅读了几乎所有可能的堆栈溢出和 umbraco q&a,并尝试了许多可能的方法来缩小问题的范围。这适用于 Umbraco 7 & MVC 4 和 & MVC 5。它在没有 Umbraco 的 MVC 项目中工作得很好。
HomeController.cs:
using System.Threading.Tasks;
using System.Web.Mvc;
using Umbraco.Web.Models;
using Umbraco.Web.Mvc;
namespace Umbraco.Async.Website.Controllers
{
public class HomeController : RenderMvcController
{
public new async Task<ActionResult> Index(RenderModel model)
{
var menuModel = new HomeViewModel(model);
await Task.Delay(1000);
return View("Home", menuModel);
}
}
public class HomeViewModel : RenderModel
{
public string Test = "Pizza is awesome!!!!";
public HomeViewModel(RenderModel model)
: base(model.Content, model.CurrentCulture)
{
}
}
}
Home.cshtml:
@*@inherits Umbraco.Web.Mvc.UmbracoTemplatePage*@
@inherits UmbracoViewPage<Umbraco.Async.Website.Controllers.HomeViewModel>
@{
Layout = null;
}
<h1>@Model.Test</h1>
最后浏览器没有显示渲染视图,只有文本字符串:
System.Threading.Tasks.Task`1[System.Web.Mvc.ActionResult]
【问题讨论】:
-
在 SO stackoverflow.com/questions/23006976/… 的其他地方查看此问题
-
嗨@ProNotion,谢谢你,我之前在多个项目(MVC4、MVC5)上尝试过这两种解决方案,但没有成功。我将对他们的问题添加评论。干杯!
-
....我也尝试过使用 SurfaceController(如stackoverflow.com/questions/23006976/…)以及我的 RenderMvcController。 (可能有用的额外信息)
-
@legas:您是在 .NET 4.5 或更高版本上运行吗?
标签: asp.net asp.net-mvc async-await umbraco umbraco7