Questo deve essere qualcosa di veramente stupido ma non riesco a pensare a cos'altro fare.web api mostra l'errore 403.14 quando localhost: il numero di porta è nell'indirizzo del browser in iis express
Utilizzo di Visual Studio 2013 - Aggiornamento 1, ho creato un progetto web api 2 vuoto in una soluzione esistente, aggiunto il pacchetto cross origin support (cors) e creato un controller web api di base.
La classe WebApiConfig sembra andare bene:
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
var cors = new EnableCorsAttribute("*","*","*");
config.EnableCors(cors);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
E anche il Global.asax
protected void Application_Start()
{
GlobalConfiguration.Configure(WebApiConfig.Register);
}
ho quindi eseguire l'applicazione, IIS si avvia normalmente espressi e il browser inizia con l'URL dell'applicazione Ma niente sembra funzionare.
Se l'URL è "localhost: numero di porta" ottengo Errore HTTP 403.14 - Proibito Il server Web è configurato per non elencare il contenuto di questa directory.
Se provo "localhost: port number/api" ottengo Errore HTTP 404.0 - Non trovato La risorsa che stai cercando è stata rimossa, ha cambiato nome o è temporaneamente non disponibile.
Ho esaminato diversi blog, tutorial, esempi e non ho visto da nessuna parte che qualcosa di speciale debba essere fatto. Qualcuno potrebbe per favore fare un po 'di luce in quello che potrei mancare?
Ho anche provato che e ottengo l'esploratore "Il sito non può visualizzare la pagina" e come la causa "Il sito ha un errore di programmazione" –
può pubblichi parte della tua classe Controller in modo che possiamo vedere come sono i tuoi metodi? – jensendp
Si scopre che stavo cercando di usare nomi personalizzati per i metodi e poi mi sono reso conto che questa API ammette solo i verbi http standard a meno che la definizione della rotta non venga modificata, il che non è un requisito per me proprio ora. Grazie per aver trovato il tempo di rispondere alla tua risposta mi ha fatto capire questo. –