2016-05-02 13 views
-1

Dies funktioniert ...WebAPI - arbeitet lokal aber erhalten 404 Fehler auf Remote-Server

client.BaseAddress = new Uri("http://localhost/InventoryApi/"); 

Dies scheitert ...

client.BaseAddress = new Uri("http://yyyZLtd.com/"); 

Remote-Server läuft 8.5 auf Windows Server 2012 R2 IIS

Voll Code ...

client.BaseAddress = new Uri("http://localhost/InventoryApi/"); 

oder

client.BaseAddress = new Uri("http://yyyZLtd.com/"); 
client.DefaultRequestHeaders.Accept.Clear(); 
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
HttpResponseMessage response = await client.GetAsync("api/Inventory/99"); 
if (response.IsSuccessStatusCode) <- ERROR RETURNED 

Vollfehlermeldung ...

{Statuscode: 404, ReasonPhrase: 'Nicht gefunden', Version: 1.1, Inhalt: System.Net.Http.StreamContent, Sockel: { Datum: Mo, 2. Mai 2016 14.54.08 GMT Server: Microsoft-IIS/8.5 X-Powered-By: ASP.NET Content-Length: 1245 Content-Type: text/html }}

Ich muss etwas verpassen. Neu bei Web Api, haben immer SOAP verwendet, die viel einfacher scheint.

Danke und jede Hilfe geschätzt.

+1

Wie wäre es mit 'client.BaseAddress = new Uri (" http://yyyZLtd.com/InventoryApi/ ");'? –

+0

Darin ... versuchte das auch. Gleiche Fehlermeldung. – Gfw

+0

Wo ist die API für den Controller? – t0mm13b

Antwort

0

Gerade als ich war bereit zu beenden ... habe ich versucht, dies vor ohne Erfolg, aber diesmal ist es funktionierte ...

Drew .... Vielen Dank für die Anregung.

Ich begann total über - Erfolg war im 4. Versuch. Anfangs habe ich versucht, ein WebApi-Projekt aus der leeren Vorlage zu erstellen und nur WebApi hinzuzufügen. Ich entschied mich schließlich, die leere Vorlage mit Mvc und WebApi und einem Ziel-Framework von 4.6 zu verwenden. Ich fügte die gleichen Klassen und Controller wie zuvor hinzu und es funktionierte, zumindest auf Get oder Post. Die Module ändern sich oben, gab mir die Möglichkeit zum Setzen und Löschen.

Ich habe die folgenden Änderungen an meinem Web.Config ...

gemacht wurden
<system.webServer> 
<modules runAllManagedModulesForAllRequests="true"> 
    <remove name="WebDAVModule" /> 
</modules> 
<validation validateIntegratedModeConfiguration="false"/> 
<handlers> 
    <remove name="WebDAV"/>  
    <remove name="OPTIONSVerbHandler"/> 
    <remove name="TRACEVerbHandler"/> 
    <remove name="ExtensionlessUrlHandler-Integrated-4.0"/> 
    <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*,GET,POST,PUT,DELETE" type="System.Web.Handlers.TransferRequestHandler" 
    preCondition="integratedMode,runtimeVersionv4.0"/> 
</handlers> 

Hope this sonst jemand hilft. Ich habe 4 Tage damit gespielt und dann alles zum Laufen gebracht. Mehr als glücklich, den Code zu teilen, wenn jemand möchte.

+3

Können Sie Ihre Antwort erweitern? Dieses * wirklich * hilft niemandem, der das gleiche Problem wie Sie in der Zukunft erfahren kann. –

+0

Ja, ich habe auch das selbe Problem und diese Antwort hilft mir nicht. – Robert

Verwandte Themen