2017-08-29 4 views
0

Ich baue eine WebAPI und ein Frontend, die Dienste in der Web-API aufruft. Es sieht so aus, als ob die einzige Möglichkeit, WebAPI-Funktionen vom Frontend aus aufzurufen, darin besteht, dass die WebAPI in IIS ausgeführt wird, wenn das Frontend die Aufrufe ausführt.Testen von WebAPI und Front-End in der gleichen Lösung?

Das bedeutet, es nur zu einem Zeitpunkt nicht möglich ist, auszuführen und zu debuggen ein Projekt können die WebAPI und Frontend im selben Projekt wie Visual Studio zu debuggen (es sei denn, ich irre?)

Ich verwende ein umgehen, wo ich das WebAPI-Projekt als eine Referenz in der Front-End zusammen mit den Datenbank-Verbindungs-Strings und Abhängigkeits-Injektionen, die es sonst beim Start aufgerufen hätte.

Das Setup funktioniert jetzt gut und ich kann Webapi und das Frontend aus der gleichen Lösung debuggen.

Gibt es da Nachteile, wenn es darum geht, das Webapi und das Frontend auseinander zu nehmen und sie einzusetzen?

+0

Sie sind in Ihrer Annahme falsch über das Debuggen mehrerer Projekte in VS: [Mehrere Prozesse debuggen] (https://msdn.microsoft.com/en-us/library/jj919165.aspx). Das Tool hat das schon eine Weile geschafft. Dies gilt auch für VS 2017. –

+0

@ R.Richards ah yep, die aussieht wie eine legitamite Lösung, leider meine Webapi-Aufrufe starten fehlgeschlagen, wenn ich das tun '"TypeError: Fehler beim Abrufen"' so nicht sicher, ob dies eine Einschränkung dieser Methode oder etwas anderes ist. – tweetypi

+0

Solange jedes Projekt, das gestartet wird, so konfiguriert ist, dass es unter verschiedenen Portnummern ausgeführt wird, sollten keine Konflikte zwischen ihnen bestehen. –

Antwort

1

Dies ist etwas, das Visual Studio seit einiger Zeit unterstützt. Es ist auch eine nette Eigenschaft des Werkzeugs.

Nehmen wir an, Sie haben eine Lösung mit einer MVC-Webanwendung und einer API-Anwendung, die von der MVC-Anwendung aufgerufen wird. Um in der Lage zu sein, zu zwei Anwendungen gleichzeitig zu debuggen, öffnen Sie die Lösungseigenschaften, und wählen Sie im Bereich Allgemeine Eigenschaften/Startprojekt die Option Mehrere Startprojekte. Setzen Sie das MVC- und das API-Projekt Aktion auf Starten Sie. Möglicherweise möchten Sie festlegen, dass das API-Projekt vor dem MVC-Projekt gestartet wird, da dort eine Abhängigkeit besteht.

Solange jedes Projekt, das gestartet wird, für die Ausführung mit unterschiedlichen Portnummern konfiguriert wurde, sollten keine Konflikte zwischen ihnen bestehen.

Sie können bestätigen, dass die Ports nicht miteinander kollidieren, indem Sie die Projekteigenschaften für jedes Projekt öffnen und zur Registerkarte Debug wechseln. Suchen Sie in der App-URL unter Web Server-Einstellungen. Der Standardwert ist http://localhost:{port}/; Der Hafen wird von Projekt zu Projekt variieren. Stellen Sie nur sicher, dass die 2 Projekte nicht dieselbe Portnummer verwenden.

Glückliches Debugging!

Verwandte Themen