Note that there are some explanatory texts on larger screens.

plurals
  1. POWeb api interface works locally but not on Azure
    primarykey
    data
    text
    <p>My case is very similar to <a href="https://stackoverflow.com/questions/13418344/web-api-interface-works-locally-but-gets-404-after-deployed-to-azure-website%20this%20question">this question</a>, but since he did not get an answer I thought I'd throw some more input.</p> <p>Everything works fine locally (on the VS embedded server). When I deploy to Azure, I get a 404 error accompanied by "No type was found that matches the controller named...".</p> <p>However, when I load the <a href="http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx%20routedebugger" rel="nofollow noreferrer">routedebugger</a> module the mapping seems ok even on Azure.</p> <p>What can I do to debug that problem?</p> <p>Thanks,</p> <p>Alex</p> <p>Edit: my routes are created this way:</p> <pre><code> GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } }; GlobalConfiguration.Configuration.Routes.MapHttpRoute( name: "ActionApi", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = RouteParameter.Optional } ); </code></pre> <p>Edit 2: Here my controller class</p> <pre><code> public class EmployeeController : ApiController { // GET api/&lt;controller&gt; public IEnumerable&lt;Employee&gt; Get() { using (var context = new nws()) { return context.Employees; } } // GET api/&lt;controller&gt;/5 public Employee Get(int id) { using (var context = new nws()) { return context.Employees.FirstOrDefault(e =&gt; e.ID == id); } } // GET api/&lt;controller&gt;/getbyatid/5 public Employee GetByAtId(string id) { using (var context = new nws()) { return context.Employees.FirstOrDefault(e =&gt; e.AtUserID == id); } } // POST api/&lt;controller&gt; public void Post([FromBody]string value) { } // PUT api/&lt;controller&gt;/5 public void Put(int id, [FromBody]string value) { } // DELETE api/&lt;controller&gt;/5 public void Delete(int id) { } // GET api/&lt;controller&gt;/timebank/5 public int? GetTimeBank(string id) { using (var context = new nws()) { var employee = context.Employees.FirstOrDefault(e =&gt; e.AtUserID == id); if (employee != null) return employee.GetTimeBank(); return null; } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload