2012-03-02 1 views
6

sto cercando di utilizzare l'API asp.net web in moduli web con Visual Studio 2010 (SP1) ho fatto i passi http://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with-nuget.htmlASP.NET Web Api in Web costituisce

quando uso il Visual Studio server di sviluppo funziona, ma quando sto usando iOS 7.5 ottengo un errore HTTP 404.0 - Non trovato.

Modifica

Questo è il mio Global-ASax

protected void Application_Start(object sender, EventArgs e) 
     { 
      RouteTable.Routes.MapHttpRoute(
       name: "DefaultApi", 
       routeTemplate: "api/{controller}/{id}", 
       defaults: new { id = System.Web.Http.RouteParameter.Optional } 
      ); 
     } 

Questa è la classe api

public class GreetingController : ApiController 
{ 
    public string GetGreeting(string id) 
    { 
     return String.Format("Hello {0}", id); 
    } 
} 
+0

si potrebbe fornire maggiori informazioni? non c'è molto da fare adesso. – marcind

risposta

6

Bisogna fare in modo che le richieste vengono instradate senza estensione ad ASP.NET che viene eseguito di default dal tuo server di sviluppo ma non da IIS.

Ci sono un paio di possibili approcci.

Innanzitutto, è possibile aggiungere runAllManagedModulesForAllRequests="true" nella sezione moduli di system.webServer. Alcune persone affermano che non ci sono metodi migliori, è possibile seguirli:

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

+0

runAllManagedModulesForAllRequests = "true" funziona !!! grazie Wiktor – sebacipo

+3

Se qualcuno sta usando iis in modalità Classic, la soluzione di Wiktor non funziona, devi installare l'aggiornamento di ExtensionLess per iis. http://support.microsoft.com/kb/980368 – sebacipo