Wie man ASP.NET Web-API web-service im lokalen Netzwerk
Ich bin zu schreiben, ein JSON-web-service (VS Express 2012 - ASP.NET WEB-API), und jetzt will ich es testen, indem Sie versuchen, um die Daten von meinem Android-app. So habe ich versucht, meinen service für das lokale Netzwerk, dies zu tun :
-> geändert von localhost
zu 192.168.1.52
im applicationhost.config
<site name="MyFirstWebApi" id="5">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\projects\MyFirstWebApi" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:61802:192.168.1.52" />
</bindings>
</site>
-> und auch die geänderte Projekt-Eigenschaften -> Web -> "Use local IIS-Webserver" -> Projekt-url zu http://192.168.1.52:61802/
Aber wenn ich jetzt versuche den Dienst zu starten, es gibt mir eine Fehler-messagebox:
Das IIS-Express-webserver konnte nicht gestartet werden
(Übersetzt aus Deutsch)
leider kann ich nicht sehen, was der genaue Fehler, weil der VS-Ausgabe leer
Weiss jemand wie das zu reparieren oder wie man dies korrekt?
- Haben Sie überprüft das Ereignisprotokoll von Windows?
- noch ja, aber konnte nicht etwas gefunden in Bezug auf mein problem :/
- Siehe diesen Beitrag hier - sollten diese Schritte Ihr Problem zu beheben stackoverflow.com/questions/5433786/...
- Können Sie versuchen, die Anwendung mit den integrierten server im debug-Modus und sehen, ob es irgendwelche Fehler? Es kann beleuchten, auf denen IIS und IIS Express nicht.
- Ist Ihre firewall eingeschaltet ist ? machen Sie es aus , oder öffnen Sie den port für die Anwendung
Du musst angemeldet sein, um einen Kommentar abzugeben.
IIS Express standardmäßig nicht erlauben "remote" - verbindungen... dieser Beitrag zeigt Ihnen, was zu tun ist:
IIS Express externe Anforderung aktivieren
Sobald Sie das tun, sollten Sie in der Lage sein, um eine Verbindung von einem anderen computer in Ihrem Netzwerk.
Auch, stellen Sie sicher, öffnen Sie den port in Ihrer Firewall.
Wenn das nicht funktioniert, würde ich erstellen Sie eine site mit Ihrem lokalen IIS und testen Ihr service, die Art und Weise.
Hoffe es hilft,
Daniel.
Create SDDL failed, Error: 1332 The parameter is incorrect.
Versucht mit diesem :netsh http add urlacl url=http://localhost:8080/ user=everyone
netsh http add urlacl url=http://+:8080/ user="Everyone"
Könnten Sie die Skripts aus, um IIS Express remote-verbindungen erlauben, aber eine andere Möglichkeit ist die Verwendung einer self-host-wrapper für Ihre web-api-code beim testen lokal. Wir hatten das gleiche Problem und begann, mit dieser Methode. Hier ist, wie Sie es tun:
Erstellen Sie eine neue Konsole-Projekt, und fügen Sie code wie diesen:
Als angegeben, bitte führen Sie Visual Studio mit Administrator-rechten.
Sind wir mit AutoFac für dependency injection, die Bande hier Recht gut, siehe Anleitung hier.
Führen Sie nun die Konsole project (als Startprojekt festlegen oder Rechtsklick > debug > start new instance).
Hallo Freundlicherweise entfernen Sie den IP-Namen von ApplicationHost.config.
Erstellen Sie ein virtuelles Verzeichnis ein und veröffentlichen Sie die webservice-Dateien.
Festlegen IP-Adresse:
- Rechte Maustaste auf "Default Web Site"
- Edit-Bindung
- IP-Adresse zuweisen
Starten Sie den IIS.
Browe 'Default Web Site' zeigt Sie mit Ihrer IP-Adresse.