好的,经过了很多小时的调试和拔掉我的头发后,我发现了罪魁祸首。这是我的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);
}
}
http://msdn.microsoft.com/en-us/library/vstudio/hh191443.aspx – Lee
确保您的目标是.NET 4.5,而不是.NET 4.0。 –