不确定为什么在任务完成后这不会返回我的视图,我可以在Google上找到很多原因.
public async Task<ActionResult> GetUserAsync()
{
var value = Task.Factory.StartNew(() => _userService.GetUser("ausername"));
await Task.WhenAll(value);
return View("GetUser");
}
Run Code Online (Sandbox Code Playgroud)
Dfw*_*ale 20
好吧,经过几个小时的调试并拉出我的头发剩下的东西,我找到了罪魁祸首.这是我的WindsorActionInvoker !! 从ControllerActionInvoker到AsyncControllerActionInvoker的更改解决了异步任务无法按预期工作的问题.
我希望这可以帮助别人.
public class WindsorActionInvoker : AsyncControllerActionInvoker
{
private readonly IKernel _kernel;
public WindsorActionInvoker(IKernel kernel)
{
_kernel = kernel;
}
protected override ActionExecutedContext InvokeActionMethodWithFilters(ControllerContext controllerContext,
IList<IActionFilter> filters,
ActionDescriptor actionDescriptor,
IDictionary<string, object> parameters)
{
foreach (IActionFilter actionFilter in filters)
{
_kernel.InjectProperties(actionFilter);
}
return base.InvokeActionMethodWithFilters(controllerContext, filters, actionDescriptor, parameters);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3643 次 |
| 最近记录: |