2016-10-05 4 views
1

Ich habe im neuen .NET CORE Framework eine Web API erstellt, die Daten von unserem Server auf unserer Domäne erfasst (lokale Maschine sitzt auch auf Domäne)..NET Core Web API IIS Bereitstellung lokaler Rechner

Bereitstellung mit IIS Express ist in Ordnung, es läuft und funktioniert.

Momentan wurde eine schnelle Xamarin-App erstellt, um mit meiner Web-API zu kommunizieren, aber ich habe keine Möglichkeit, eine Verbindung zu meinem lokalen IISExpress herzustellen, wenn ich auf meinem Telefon teste.

Also habe ich meine Web-API auf meinem lokalen Rechner veröffentlicht (rightr klickte auf Lösung veröffentlichen).

Ich eingerichtet einen Anwendungspool in IIS auf meinem Computer, legen Sie es auf nicht verwalteten Code fest. Ich habe dann ein virtuelles Verzeichnis erstellt und auf dieses Verzeichnis verwiesen, dann habe ich es in eine Anwendung umgewandelt und es meinem App-Pool zugewiesen.

Wenn ich auf die URL "http://localhost/MereWebAPI" navigiert bekomme ich eine leere Seite, wie zu erwarten ist. Also beende ich die URL mit der API "http://localhost/MereWebAPI/api/name/1", aber ich bekomme immer noch eine leere Seite.

Also habe ich versucht meine anderen Controller, die einfache "GET" ausführen, sondern einen leeren Bildschirm mit "[]" statt.

Fehle ich hier irgendwelche Schritte?

EDIT: mein appsettings.json

{ 
"ConnectionStrings": { 
"DefaultConnection":  "Server=server\\instance;Database=DEV01;Trusted_Connection=True" 
}, 
"Logging": { 
"IncludeScopes": false, 
"LogLevel": { 
    "Default": "Debug", 
    "System": "Information", 
    "Microsoft": "Information" 
} 
} 
} 

EDIT: meine veröffentlichen Optionen in project.json

"publishOptions": { 
"include": [ 
    "wwwroot", 
    "**/*.cshtml", 
    "appsettings.json", 
    "web.config" 
] 
}, 
+0

Überprüfen Sie alle Einträge wie conn String etc in der veröffentlichten 'appsettings.json' Dies geschieht in der Regel, wenn eine solche Konfiguration in der veröffentlichten Version nicht und arbeitet in der Entwicklungsumgebung in Ordnung. – Sanket

+0

Ive meine Frage mit Appsettings aktualisiert es sieht gut aus, wie kann ich das verfy? – lemunk

+0

Haben Sie versucht, einen REST-Client zu verwenden, um die http-Antwort und weitere Details zu sehen? Enthält Ihre project.json alle Dateien, die für Ihre API erforderlich sind, im Abschnitt publishOptions? –

Antwort

0

Sie mehr Informationen benötigen.

Aktivieren und überprüfen Sie die Anwendungsprotokolle unter .\logs\stdout.

<system.webServer> 
    <handlers> 
     <add 
     name="aspNetCore" 
     path="*" 
     verb="*" 
     modules="AspNetCoreModule" 
     resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore 
     processPath=".\MyApp.exe" 
     arguments="%LAUNCHER_ARGS%" 
     stdoutLogEnabled="false"     <--- enable 
     stdoutLogFile=".\logs\stdout" />   <--- set path 
    </system.webServer> 
</configuration> 

Überprüfen Sie die IIS-Protokolle (Sie wahrscheinlich müssen sie nicht erst aktivieren). Ereignisanzeige> Windows-Protokolle> Anwendung. Um einen Drilldown durchzuführen, können Sie Aktuelles Protokoll filtern ... nach Ereignisebene und so weiter.

IIS Application Logs

Verwandte Themen