I'm working on a ASP.NET MVC 4 website. Together with MVC controllers, I have one API controller which contains an ajax GET API interface. It works perfectly when debugged locally with visual studio.
However, after I deployed it as an Azure Website, MVC controllers work, but the API controller doesn't work anymore. When jQuery code tries to reach it, it returns a response like:
No HTTP resource was found that matches the request URI 'http://example.com'.
It looks like at least the route works (otherwise, another 404 response body is returned.).
Additionally, I have another pure MVC 4 Web API service deployed as an Azure Cloud Service. It works perfectly. Thus, I wonder what causes the API inside MVC Website to fail? Thank you!
It is a common problem When an MVC application is deployed on IIS, the HTTP url which is calling the REST Service exposed by your web API will change. If your api controller is named MyApiController, so in production evironment, you should add the application name before the calling URL. That means that /api/MyApi will become /MyApp/api/MyApi. MyApp is the prefix of your web site (yourwebsite/MyApp).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With