I've written an ASP.NET MVC 4 application, which works on my development machine. But when I deploy it to a server running IIS7, the controller used for Ajax calls gets a 404 error. (I published the site to a deployment package, then imported in IIS to create the web application on the server. The 404 errors can be seen either through FireBug, or by going to the link directly through a browser. In the code, I'm using jQuery's ajax method and specifying "POST". Firebug shows that the correct URL is being posted to, but with a 404 error.)
My first inclination was to think that this must be a routing problem, which it may still be. However, the routing for "normal" pages seems to work. For example, for the home page, and another page, the controllers and views seem to be working properly.
The difference between the controllers that work and the one that doesn't is that the one used for API-type calls gives 404 errors. For example, the main page has methods that begin like this:
public ActionResult Index()
But the controller having a problem is called API-style (even though it's a regular controller, not a Web API page):
public JsonResult UnprocessedList()
The forum postings and articles I've seen so far about this sort of issue seem to focus on configurations to make routing work at all on IIS7. But since some pages are showing up correctly, I'm think that it isn't an issue of not having the right DLLs or web.config setup for routing to be activated.
I want to emphasize also that when running from the development computer itself, through Visual Studio, this all works perfectly.
I figure that there must be some setting somewhere that must be enabled to get these API-type methods to work on IIS7. But I'm having trouble finding any information about this.