好的,經過了很多小時的調試和拔掉我的頭髮後,我發現了罪魁禍首。這是我的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。 –