If you are trying to get AsyncControllers to work, you might run into this gem when you try to test your controller:
If this happens to you, a custom action invoker is likely to be the culprit. In my case, I was using Castle Windsor, and I had extended ControllerActionInvoker to provide dependency injection to my action filters. My action invoker looked something like this:
And this is how I had registered the action invoker with Windsor (this assumes you are using a controller factory that is aware of Windsor):
All I had to change to fix the problem was to make my custom action invoker inherit AsyncControllerActionInvoker instead:
AsyncControllerActionInvoker implements IAsyncActionInvoker and adds a few new methods. Depending on what you are trying to accomplish with your custom invoker, you may need to override a few of these new methods as well.
Interestingly enough, I did not have to change how the invoker was registered with Windsor.