Sigg, thanks for your comments.
So if I were to create a rich webapi for various clients and wanted to use it on all of them, then in my controller, or for that matter my viewmodel, I would be using WebClient to make the calls into the webapi.
View Post back to Controller.
Controller creates a ViewModel.
ViewModel uses WebAPI via HttpClient to gather data.
WebAPI uses EF to get data and return it to caller.
This approach seems odd because my ViewModel could clearly use the same EF code to gather the data and skip the entire WebAPI call.
As mentioned before, and you acknowledged, we might use ajax everyonce and a while, but for the most part we want to continue using the MVC framework to do most of the work.
So am I to conclude that until we have a need for a different client like win8/metro or WinPhone7 Silverlight, that spending time creating a webapi would be an extra layer that is not needed and would be hard to justify?
Thanks again for your comments.