Microservices lernen mit . NET Core | Asfend Yar | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Microservices lernen mit . NET Core

teacher avatar Asfend Yar

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      0:52

    • 2.

      Voraussetzungen

      1:18

    • 3.

      Kursstruktur

      1:06

    • 4.

      Monolithische Architektur

      1:36

    • 5.

      Microservices Architektur

      1:06

    • 6.

      Microservices

      3:08

    • 7.

      Wann Microservices verwendet werden

      2:51

    • 8.

      Welche Microservices wir erstellen

      1:59

    • 9.

      Lösung Für Microservices erstellen

      4:20

    • 10.

      Nuget Pakete installieren

      2:35

    • 11.

      Fahrzeugservice Übersicht

      1:00

    • 12.

      Modelle Für Den Fahrzeugservice Erstellen

      2:26

    • 13.

      DbContext Für Fahrzeuge Service

      3:41

    • 14.

      Migration Im Fahrzeugservice

      2:47

    • 15.

      Schnittstelle Für Den Fahrzeugservice Erstellen

      3:55

    • 16.

      Fahrzeugservice erstellen

      9:50

    • 17.

      Erweiterungsmethoden und IOC im Fahrzeugservice

      3:14

    • 18.

      Fahrzeuge Controller

      6:00

    • 19.

      Vehicle ausführen

      3:49

    • 20.

      Übersicht Customer

      0:52

    • 21.

      Modelle Für Kundenservice Erstellen

      4:37

    • 22.

      DbContext Für Kundenservice

      2:03

    • 23.

      Migrationen im Kundenservice

      2:05

    • 24.

      Schnittstelle Für Den Kundendienst Erstellen

      1:59

    • 25.

      Kundenservice erstellen

      6:01

    • 26.

      Extension und IOC im Kundendienst

      1:14

    • 27.

      Customers

      3:05

    • 28.

      Kundenservice ausführen

      4:12

    • 29.

      Azure Service Bus Übersicht

      1:26

    • 30.

      Azure Service Bus einrichten

      3:31

    • 31.

      Azure Sender Service

      7:23

    • 32.

      Reservierungsservice Übersicht

      1:03

    • 33.

      Modelle Für Den Reservierungsservice Erstellen

      4:13

    • 34.

      DbContext Für Reservierungsservice

      1:57

    • 35.

      Migrationen Im Reservierungsservice

      2:10

    • 36.

      Schnittstelle Für Den Reservierungsservice Erstellen

      2:03

    • 37.

      Reservierungsservice erstellen

      7:20

    • 38.

      Erweiterungsverfahren und IOC im Reservierungsservice

      1:07

    • 39.

      Reservations

      3:57

    • 40.

      Azure Service Bus Receiver Übersicht

      1:09

    • 41.

      Azure Consumer Service

      6:50

    • 42.

      Durchführung von Reservierungen Service

      2:24

    • 43.

      Api Gateway Übersicht

      1:53

    • 44.

      Api einrichten

      2:31

    • 45.

      Routen konfigurieren

      9:19

    • 46.

      Api Gateway testen

      1:45

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

112

Teilnehmer:innen

--

Projekte

Über diesen Kurs

Der Schwerpunkt dieses Kurses liegt auf den Microservices. Wenn du keine Erfahrung mit Microservices hast, dann ist dieser Kurs ein perfekter Sprungstart für dich. Aber denke daran, diesen Microservices zu absolvieren, musst du ein Wissen über Rest Api's mit haben. Netzkern .

Wenn du also C# , Asp.Net Core und Entity Framework kennst Oder die Microservices mit deinem Favoriten erstellen möchtest. Net Core Framework ist dann der richtige Kurs für dich.

Wenn du keine Ahnung von Microservices hast, dann mach dir keine Sorgen, denn in diesem Kurs decken wir alle Microservices Konzepte von absoluter Anfänge ab.

Durch den Erhalt dieses Kurses kannst du sicher sein, dass der Kurs sorgfältig durchdacht und bearbeitet wird. Und ich freue mich immer den hilfreichen Inhalt für die Schüler zu machen.

Am Ende des Kurses wirst du also verstehen:

  • So erstellen Sie ein komplettes reales Microservices-Projekt mit . Net Core über Entity Framework Code Erster Ansatz mit allen fortgeschrittenen Funktionen.

  • Fahrzeuge Microservice erstellen

  • Microservice für Kunden erstellen

  • Daten an Azure Message Service Service Bus senden

  • Microservice erstellen

  • Abfrage Daten Aus Azure Service Bus

  • Api Gateway

Dies ist kein kurzer Kurs dies ist ein kompletter Leitfaden, um reale Weltprojekte mit Microservices von Anfang bis Ende zu machen. Wenn du also ein geschäftiger Entwickler bist und die Dinge schnell von Grund auf lernen willst, dann nimm diesen Kurs an.

Triff deine:n Kursleiter:in

Teacher Profile Image

Asfend Yar

Kursleiter:in
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Hallo, Willkommen zu diesem Microservices-Kurs mit ASP.Net Core. Mein Name ist S1 und ich führe Sie durch diesen Kurs. Ich bin ein Softwareentwickler und wertvollste Fachmann von Microsoft. Ich habe diesen Kurs so konzipiert, dass Sie Microservices von Anfang an lernen können . In diesem Kurs werden wir keine Copy-Paste-Technik verwenden. In der Tat werden wir alles von Grund auf neu abdecken. Um an diesem Kurs teilnehmen zu können, müssen Sie jedoch über Kenntnisse der ASP.Net-Kern-RESTful-APIs verfügen. Nun, drei bis sechs Monate Rest-API-Kenntnisse reichen aus , um diesen Kurs zu beginnen. Am Ende dieses Kurses werden Sie in der Lage sein, die Microservices der lokalen Desktop-Anwendung zu verwässern . In Ordnung, worauf wartest du? Nimm an diesem Kurs teil und lass uns anfangen zu lernen. 2. Voraussetzungen: Bevor Sie mit diesem Kurs beginnen, sollten Sie unbedingt die Video Studio 2022 Community Edition herunterladen . Wenn Sie eine andere Ausgabe von Videostudio wie Professional oder Enterprise verwenden , die Punkt und Kern unterstützt, ist das in Ordnung. We'll Studio Community Edition ist kostenlos. Wenn Sie sich das Unternehmen oder eine andere Ausgabe nicht leisten können, fahren Sie einfach mit dieser Community-Edition fort. Ich habe einen Download-Link des Filmstudios angehängt , damit Sie ihn herunterladen und entsprechend auf Ihrem Computer installieren können. Ich möchte Ihnen auch sagen , dass ich in diesem Kurs die verkürzte Version sechs verwenden werde. Stellen Sie sicher, dass Sie die neueste Version von dotnet verwenden. Um diesen Kurs abzuschließen, müssen Sie über drei bis sechs Monate Erfahrung mit dotnet Core RESTful APIs verfügen. Wenn Sie ein absoluter Anfänger sind , empfehle ich Ihnen, diesen Kurs zu unterbrechen und einfach zu meiner Rest-API zu gehen, einem Anfängerkurs, in dem Sie die restliche API-Entwicklung von Grund auf lernen. Und gleich nach dem Rest des APA-Kurses können Sie diesen Microservice-Kurs belegen. Okay, das ist alles worüber ich sprechen möchte. Ich hoffe du bist auf derselben Seite. Jetzt fangen wir an zu lernen. 3. Kursstruktur: In diesem Kurs haben Sie Microservices von Anfang an gelernt . Lassen Sie mich Ihnen zeigen, was in den nächsten Abschnitten auf Sie zukommt . Im nächsten Abschnitt beginnen wir mit den Grundlagen wie was sind Microservices und wie Microservices funktionieren. Dann richten wir die Projekte für Microservices ein. Gleich danach. Wir erstellen einen Microservice für Fahrzeuge. Dann erstellen wir den Mikroservice für Kunden. Und gleich danach deckt der Microservice des Kunden den Azure Service Bus für die Kommunikation des Microservices ab. In diesem Abschnitt senden wir die Daten an den Azure Service Bus. Dann erstellen wir den Reservierungs-Microservice. Und gleich danach werden die Daten aus der Azure Service Bus-Warteschlange abgerufen . Sobald wir diese Dinge behandelt haben, werden wir auch das API-Gateway mit gepunkteten Kurven mithilfe von Microservices abdecken . Das sind also die Dinge, die wir in diesem Kurs behandeln werden. In Ordnung? Die Zeit ist sehr kurz und es gibt eine Menge Dinge zu behandeln. Wir sehen uns also im nächsten Abschnitt. 4. Monolithische Architektur: Bevor wir über die Microservices-Architektur sprechen, müssen wir zunächst die monolithische Architektur verstehen. Eine monolithische Anwendung wird als eine Einheit gebaut. Nehmen wir ein einfaches Beispiel. Angenommen, Sie wurden gebeten, eine Anwendung für eine Fahrzeugprobefahrt zu erstellen . In diesem Szenario wird unsere Anwendung aus drei Teilen bestehen. Die Datenbank, die aus einer oder mehreren Tabellen mit einigen Relationen besteht . Die clientseitige Benutzeroberfläche, die aus HTML-Seiten besteht, eine Benutzeroberfläche die auf der Clientseite verwendet wird. Die serverseitige Anwendung, die alle HTTP-Anfragen bearbeitet, die domänenspezifische Logik ausführt, die Daten abruft , aktualisiert und löscht und die Daten in die clientseitige Anwendung , damit der Kunde die Daten anzeigen kann. Das sind also unsere Monolith-Architekturarbeiten. In der Monolith-Architektur sind alle Komponenten miteinander verbunden. Wenn wir an einem bestimmten Dienst etwas ändern wollen, müssen wir die gesamte Anwendung erneut bereitstellen da alle Dinge miteinander verbunden und abhängig sind. den Code ändern, wird die gesamte Anwendung beschädigt. Und um ehrlich zu sein, ist das wirklich nervig wenn Sie eine Anwendung auf Unternehmensebene erstellen. Um dieses Problem zu lösen, benötigen wir Microservices. Und in der nächsten Lektion werden wir die Microservice-Architektur besprechen. Wir sehen uns im nächsten. 6. Microservices Kommunikation: In der letzten Lektion haben wir über die Microservice-Architektur gesprochen. Lassen Sie mich Ihnen nun erklären, wie wir diese Kommunikation zwischen den Microservices und einer einfachen monolithischen Anwendung durchführen . Wir haben Tabellen und Relationen, und mit Diensten können mithilfe von Beziehungen miteinander kommunizieren , da diese Dienste dieselbe Datenbank verwenden. Im Fall von Microservices enthält jetzt jeder Dienst seinen eigenen Datenspeicher. Wie ist es möglich, mit anderen Microservices zu kommunizieren? Nun, es gibt mehrere Möglichkeiten, wie ein Microservice mit einem anderen Microservice kommunizieren kann. Aber zuerst nehmen wir ein Beispiel. Angenommen, wir haben eine einfache E-Commerce-Anwendung mit einigen Diensten wie Kunden, Produkten, Warenkorb, Inventar, Zahlungen, Bestellungen und E-Mail. Der Kunde legt das Produkt in den Warenkorb oder Warenkorb und entscheidet dann, wie viele Produkte er benötigt. Angenommen, der Kunde möchte fünf Produkte in den Warenkorb legen. sind jedoch nur zwei Produkte Für diesen Warenkorb-Service sind jedoch nur zwei Produkte mit Dark-to-the-Inventar-Service über HTTP-Aufrufe, Rest-APIs, verfügbar . Bei dieser Kommunikation handelt es sich interne Microservice-Kommunikation. Sobald der Kunde die Zahlung geleistet hat, wird er die Bestellung aufgeben. Der Kunde hat die Bestellung aufgegeben, aber die Bestellung steht noch aus. Und im Backend prüft der Administrator nach der Bewerbung, prüft der Administrator nach der Bewerbung ob die Zahlung erfolgreich ist oder nicht. Wenn die Zahlung erfolgreich ist, sendet der Administrator dem Kunden die E-Mail , dass die Bestellung erfolgreich aufgegeben wurde. Und dieser Prozess ist asynchron, denn sobald der Kunde die Bestellung aufgegeben werden die Bestelldaten an externen Dienstleister wie Azure Messaging oder Rabbit MQ weitergeleitet. Und das sind Message Brokers. Lassen Sie mich Ihnen jetzt sagen , was Message Broker ist. Ein Message Broker ist eine Software, die es den Anwendungen, Systemen und Diensten ermöglicht , miteinander zu kommunizieren und Informationen auszutauschen. Okay, was hier passiert, ist, wenn der Kunde die Bestellung aufgibt, dann werden die Daten an den Nachrichtenbroker gesendet. Kurz gesagt, wir senden die Daten an den Nachrichtenbroker. Auf der anderen Seite interagiert der böse Dienst mit dem Nachrichtenbroker erhält die Bestelldetails von diesem Nachrichtenbroker. Und wenn die Zahlung erfolgreich ist, sendet dieser E-Mail-Dienst eine E-Mail an den Kunden. Die Bestellung wurde erfolgreich aufgegeben. Diese Art der Kommunikation, die mit Message Brokern stattfindet, ist eine externe Microservice-Kommunikation oder asynchrone Kommunikation. Die andere Art der Kommunikation, die wir zuvor besprochen haben, ist asynchrone Kommunikation oder interne Microservice-Kommunikation. Denn ohne zu wissen , welche Inventargegenstände übrig sind, können wir die Artikel im Warenkorb nicht vergrößern. Okay, das ist alles aus dieser Lektion. Wir sehen uns jetzt in der nächsten. 7. Wann man Microservices einsetzt: In dieser Lektion werden wir sprechen, wann wir Microservices verwenden sollten und wann wir die Microservices nicht nutzen sollten. Aber vorher vergleichen wir die monolithische Microservices-Anwendung. Lassen Sie uns nun über die Bereitstellung sprechen. Stellen Sie die monolithische Anwendung bereit. Sie müssen die gesamte Anwendung veröffentlichen oder erneut bereitstellen . Bei Microservices können Sie diesen Microservice jedoch bereitstellen. Dann können Sie auch die anderen Microservices bereitstellen. Wenn wir über die Skalierbarkeit sprechen, ist es viel einfacher die Microservice-Anwendung zu skalieren. Lassen Sie uns nun über die plattformabhängige Funktion sprechen. Die einfachen monolithischen Anwendungen sind plattformabhängig. Das heißt, wenn wir diesen ersten Dienst in Dotnet Core und MS SQL-Datenbank erstellt haben, müssen wir auch die anderen Dienste in derselben Sprache erstellen . Aber im Fall von Microservices ist das nicht der Fall. Sie können diesen ersten Service im dominanten Kern erhalten. Und mit Microsoft SQL-Datenbank. Dann können Sie die anderen Dienste in einer anderen Programmiersprache erhalten. Sie können auch einige andere Datenbankanbieter wie MongoDB oder MySQL usw. verwenden , aber die Arbeit an Microservices erhöht auch die Entwicklungsgeschwindigkeit. Denn in Unternehmensanwendungen ist jeder Entwickler mit einem bestimmten Dienst verbunden . Und das bedeutet, dass die Wahrscheinlichkeit von Fehlern geringer ist. Markieren Sie in der monolithischen Anwendung $1 pro Asteroiden, den gesamten Code. Der Entwickler kann mit vielen Fehlern konfrontiert werden und reduziert auch die Codierungsgeschwindigkeit. Okay, genug über die monolithischen und Microservice-Anwendungen geredet . Lassen Sie uns nun über den wichtigen Teil sprechen , dass wir Microservices verwenden sollten und dann keine Microservices verwenden sollten. Wenn Ihre Bewerbung einfach ist, eine Zwischenstufe, wie eine normale Kinokartenbuchung. Und wenn Sie mit verschiedenen Programmiersprachen und Entwicklungsumgebungen nicht vertraut verschiedenen Programmiersprachen sind, müssen Sie die Microservices nicht schreiben. Sie können mit einer einfachen Modellarchitektur fortfahren. Aber wenn Ihre Anwendung sehr komplex ist, wie die E-Commerce-Aktivierung, oder? Buchung, Flug, Reservierung und Anwendungen wie Netflix. Sie sollten wahrscheinlich über Microservices nachdenken. Also, Die Wahl liegt ganz bei Ihnen. Die Verwendung von Microservices hat Hunderte von Vor- und Nachteilen. In diesem Kurs konzentrieren wir uns jedoch ausschließlich auf Microservices, da der Markt neue Dinge lernen muss. Okay, das ist alles aus dieser Lektion. Wir sehen uns jetzt im nächsten Abschnitt. 8. Welche Microservices wir erstellen: In diesem Kurs erstellen wir die Microservices für die Aktivierung lokaler Festplattenlaufwerke. Nehmen wir an, es gibt ein berühmtes Automobilunternehmen wie Tesla. Und Leute wie ich wollen ein bestimmtes Fahrzeug testen . Also werden wir einen Microservice für die Fahrzeug-Desktop-Anwendung erstellen . Und ich weiß, dass die Anwendung ziemlich klein ist, aber dies gibt Ihnen einen perfekten Start in der Welt der Microservices. Okay, lassen Sie mich Ihnen den grundlegenden Ablauf dieser Anwendung erklären. Wir werden drei Microservices erstellen. Die erste wird verwendet, um die Lebenszyklusdaten zu verarbeiten. Das zweite Problem ist der Umgang mit den Kundendaten, und das dritte Problem wird für die Bearbeitung der Reservierungsdaten verwendet. Nehmen wir an, es gibt eine Mobil- oder Webanwendung , in der wir diese Microservices nutzen werden. Zunächst zeigen wir also die Daten der Fahrzeugliste an. Und diese Daten werden aus dem Fahrzeug-Microservice stammen. Und nachdem Sie ein Fahrzeug ausgewählt haben, erhalten Sie weitere Details des Fahrzeugs. Wenn wir jetzt auf die Buch-Desktop-Option drücken , wurden wir gebeten, die Details anzugeben. Und sobald wir diese Details angegeben haben, gehen diese Daten an den Microservice des Kunden. In ähnlicher Weise werden diese Daten auch an den Azure-Messaging-Dienst gesendet. Jetzt gibt es auch eine Admin-Seite der Aggregation. Mit dem Admin können die Lakers hinzugefügt, aktualisiert und gelöscht werden. Und der Administrator kann die E-Mails auch an Kunden senden , die sich für den Desktop der Firmenfahrzeuge interessieren . Wenn der Administrator die Anwendung öffnet und auf die Reservierungsoption klickt, wird die Liste der Kunden angezeigt, die daran interessiert sind, eine bestimmte Fahrzeugfahrt zu testen. Und diese Daten stammen vom Azure Messaging Service Bus, okay, dann kann der Administrator diese E-Mail zur Bestätigung an diese Kunden senden . Also werden wir diese Microservices in diesen Kurs aufnehmen. Okay, fangen wir mit der nächsten Lektion an. 9. Lösung für Microservices erstellen: In dieser Lektion erstellen wir das Lösungs- und Microservices-Projekt. Es ist besser, wenn du willst, Katie, anders werden wir Studio-Projekte für Microservices machen. Dies verbraucht aber auch mehr RAM und Rechenleistung. Anstatt die andere Instanz von Field Studio zu öffnen, wird nur eine Inzidenz des fetalen Studios geöffnet. Und darin entsteht eine Lösung, die alle Mikroservice-Projekte enthält . Okay, lass uns das richtige Studio eröffnen. Zum Zeitpunkt der Aufnahme dieses Kurses mit Studio 2022 ist die neueste Version. Okay, dann erstelle ein neues Projekt. Hier müssen wir nach einer leeren oder leeren Lösung suchen. Sie werden sehen, dass diese leere Lösungsvorlage eine leere Lösung erstellt , die keine Projekte enthält. In Ordnung, wählen wir das aus und klicken auf Weiter. Hier müssen wir unserer Lösung einen Namen geben. Geben wir einen benutzerfreundlichen Namen, da wir die Microservices für unsere Fahrzeugtestfahrten erstellen. Deshalb benennen wir diese Lösung als lokalen Speicherplatz für Testfahrten. Diese Option. Los geht's. Wir werden im Videostudio eine leere Lösung sehen. Jetzt werden wir innerhalb der Lösung zwei verschiedene Kern-Web-API-Projekte hinzufügen. Okay, klicken wir mit der rechten Maustaste auf die Lösung. Dann kriegen wir ein neues Projekt. Und in der Suchleiste suchen wir nach dotnet Core. Scrollen Sie einfach nach unten und wir sehen eine ASP.Net Core Web API-Projektvorlage. Wählen Sie dies einfach aus und klicken Sie auf Weiter. Wir müssen unserem Projekt einen Namen geben. Nennen wir es legale API. Und klicken Sie auf Weiter. Hier sehen Sie das Framework, das ich verwende, dot und six, das derzeit der neueste Favorit ist. Wir brauchen keine Authentifizierung und dunkler. Und deshalb müssen wir hier nichts ändern. Ordnung, dann stellen Sie sicher, dass diese aktivierte offene API-Unterstützung aktiviert ist , da dies die Swagger-API-Dokumentation für uns hinzufügt . In Lehre sechs haben wir auch die Möglichkeit, die minimalen APIs zu verwenden. Bei minimalen APIs verwenden wir keine Controller. Wir fügen einfach den Code in der Startup-Klasse hinzu. Aber das ist irgendwie was für Anfänger. Anstatt also die minimalen APIs zu verwenden, wählen wir den Controller-Ansatz. Stellen Sie also sicher, dass Sie die Option „Controller verwenden“ aktiviert haben , die dieses Projekt steuert. Okay, los geht's. Unser Fahrzeug-API-Projekt wurde erstellt. Jetzt werden wir genau wie bei diesem Fahrzeug-API-Projekt zwei weitere Projekte hinzufügen. wir also mit der rechten Maustaste auf die Lösung. Dann Neues Projekt hinzufügen und wählen Sie die API-Projektvorlage für gepunktete Kurven aus. Gleich danach werden wir dieses Projekt der Kunden-API benennen . In Ordnung, holen wir uns dieses Projekt. Los geht's. Jetzt haben wir zwei Projekte, Fahrzeuge, API und die Kunden-API. Es ist an der Zeit, das dritte Projekt hinzuzufügen, nämlich die Reservierungs-API. Wir klicken also mit der rechten Maustaste auf die Lösung. Sie dann „Neues Projekt hinzufügen Wählen Sie dann „Neues Projekt hinzufügen“ die ASP.Net Core Web API-Vorlage. Dann überlassen wir dieses Projekt der Reservierungs-API. Und lass uns das schaffen. Wir haben Lösung T-Projekte hinzugefügt. In der nächsten Lektion installieren wir jetzt die NuGet-Pakete für Microservices. Wir sehen uns in der nächsten Lektion. 10. Installieren von Nuget Packages: In der letzten Lektion haben wir die Lösungs - und T-Projekte für Microservices gestartet . In dieser Lektion fügen wir nun die NuGet-Pakete in diese Mikroservice-Projekte ein. Derzeit werden die NuGet-Pakete benötigt. Eine ist für Entity Framework Core, zweite für die SQL Server-Datenbankverbindung und die dritte für Migrationszwecke. Okay, wir müssen diese beiden NuGet-Pakete in diesen drei Micro-Service-Projekten installieren diese beiden NuGet-Pakete . Anstatt die Pakete einzeln innerhalb dieser Mikroservices hinzuzufügen , wir mit der rechten Maustaste auf die Lösung und wählen dann NuGet-Pakete für Lösung verwalten aus. nun in der Suchleiste wir nun in der Suchleiste nach dem Entity Framework Core NuGet-Paket. Und hier werde ich dieses NuGet-Paket in all diesen Projekten installieren . Okay, lassen Sie uns dieses NuGet-Paket für Entity Framework Core installieren . Los geht's. Das Paket wurde erfolgreich installiert. Suchen wir nun nach einem anderen Paket, das für die SQL Server-Datenbank bestimmt ist. Und wieder werden wir das Paket in diesen Projekten installieren . Once wird dieses Paket installieren. Dann suchen wir nach diesem Paket für Migrationszwecke, bei dem es sich um Microsoft Dot Core Dot-Tools handelt. Und wieder werden wir dieses Paket in allen Projekten installieren . Wir haben alle notwendigen Pakete installiert. Jetzt, wo wir weitermachen, werden wir auch andere NuGet-Pakete installieren. Aber bis dahin haben wir genug Material , um unser Microservice-Projekt zu starten. Fangen wir also im nächsten Abschnitt an, unseren ersten Micro-Service zu schreiben . 11. Vehicle: In diesem Abschnitt erhalten wir den Mikroservice für Fahrzeuge. Lassen Sie mich Ihnen den grundlegenden Ablauf dieses Fahrzeugs erläutern. Microservice, auch Microservice genannt, wird auf fünf verschiedenen Methoden basieren. Holen Sie sich Fahrzeuge, die alle Fahrzeuglisten zurückgeben. Holen Sie sich das Fahrzeug nach ID, wodurch das spezifische Fahrzeugdetail gemäß der Fahrzeug-ID zurückgegeben wird . Add-Methode wird verwendet , um sie später hinzuzufügen. Aktualisierungsmethode wird verwendet , um den Fahrzeugdatensatz zu aktualisieren und das Fahrzeug löschen wird verwendet, um das Fahrzeug zu löschen. Diese beiden Methoden erhalten das Fahrzeug und werden durch die IDR GET-Methoden gewackelt. Dieses Anzeigenfahrzeug ist eine Post-Methode, es ist eine PUT-Methode, und dieses Löschfahrzeug ist eine Löschaktionsmethode. In diesem Kurs werden wir die mobile Anwendung oder Webanwendung nicht erhalten , da unser Fokus ausschließlich auf den Microservices liegt. Okay, also fangen wir in der nächsten Lektion an, den Fahrzeug-Microservice zu erstellen . 12. Modelle für den Fahrzeugservice erstellen: In dieser Lektion bekommen wir den Fahrzeug-Microservice. Zunächst beginnen wir mit einer Modellklasse. Bevor ich die Mörtelklasse hinzufüge, möchte ich den unnötigen Code wie diese Wettervorhersage und diese Wettervorhersage-Controller-Klasse löschen diese Wettervorhersage und . Löschen Sie auch die Wettervorhersage und Bedford-Kostencontroller aus den beiden anderen Projekten. Okay. Jetzt holen wir uns den Ordner innerhalb des Fahrzeug-Microservice-Projekts und nennen ihn Modelle. dann im Ordner dieses Modells Fügen wir dann im Ordner dieses Modells eine neue C-Sharp-Klasse hinzu. Und ich werde diese Klasse Waco benennen . In Ordnung, los geht's. Innerhalb dieser Klasse fügen wir einige Eigenschaften hinzu, wie Idee des Fahrzeugs, Name des Fahrzeugs, Preis des Fahrzeugs, in welcher URL des Fahrzeugs. Dann fügen wir die Eigenschaft für die Verschiebung des Fahrzeugs hinzu. Gleich danach fügen wir die Höchstgeschwindigkeit und fügen auch die Eigenschaften Länge, Breite und Höhe des Fahrzeugs hinzu. Sie können in dieser Fahrzeugklasse auch weitere Eigenschaften hinzufügen , wenn Sie möchten. Aber ich habe nur ein paar Eigenschaften hinzugefügt , um die Dinge einfach zu halten. In Ordnung? Sobald Sie diese Eigenschaften innerhalb dieser Fahrzeugklasse hinzugefügt haben, erstellen wir den DB-Kontext. Lassen Sie uns also in der nächsten Lektion den DB-Kontext betrachten. 13. DbContext Für den Fahrzeugservice: Zu Beginn dieses Kurses haben wir die Modalklasse für Fahrzeuge erstellt. Und jetzt in dieser Lektion werden wir die DB-Kontext-Klasse erstellen. Die DB-Kontext-Klasse ist eine wichtige Klasse. Es fungiert als Brücke zwischen Ihrer Modellklasse und Ihrer Datenbank. Und es ist auch dafür verantwortlich LINQ-Abfragen in SQL-Abfragen umzuwandeln und die Datenbank zu senden. Was ich meine ist , wenn wir die Crud-Operationen mit der Datenbank durchführen , dann verwenden wir die Link-Abfragen. Und diese DVI-Kontexte konvertieren diese LINQ-Abfragen in SQL-Abfragen und senden sie dann an die Datenbank. Bevor wir also die DB-Kontext-Klasse hinzufügen, erstellen wir einen neuen Ordner und nennen ihn data. Dann füge ich in diesem Datenordner eine neue Klasse hinzu. Dann haben wir diese Klasse dem API-DB-Kontext zugewiesen. Fügen wir diese Klasse hinzu. Dann müssen wir diese Klasse nur noch aus dem DB-Kontext ableiten. Und dieser DB-Kontext stammt aus dem Entity Framework Core-Namespace. Und wir müssen den Namespace für diese Klasse auflösen. Dann füge ich innerhalb der EPA DB-Kontextklasse eine Eigenschaft hinzu. Fügen wir eine Eigenschaft hinzu. Die Frage ist nun, was diese Eigenschaft schreiben wird? Nun, es wird das DB-Set des Fahrzeugs zurückgeben. Okay, die Salzigkeit für dieses kleine Glas. Dann haben wir dieses Anwesen Lakers benannt. Zur Laufzeit ordnet Entity Framework diese TV-Set-Eigenschaft einem Datenbanktabellennamen zu. Wenn wir diese Eigenschaft hier beispielsweise als Fahrzeuge benennen, erhält Entity Framework eine Tabelle innerhalb einer Datenbank mit demselben Namen, also vehicles. In Ordnung, jetzt geben wir die Verbindungszeichenfolge für diese DB-Kontext-Klasse an. Zu diesem Zweck verwenden wir unsere Methode zum Hinzufügen, die sich bei der Konfiguration befindet. Sobald wir dies über die Konfigurationsmethode schreiben, entfernen Sie diese Zeile. Und hier fügen wir diesen Optionen-Builder hinzu. Rufen Sie dann die Servermethode use sequel auf, die die Verbindungszeichenfolge übernimmt. Also gehen wir zum SQL Server Object Explorer. Hier sehen wir den Servernamen. Kopieren wir den Servernamen. Dann wird in der Verwendung von SQL Server Methode Server Equals hinzugefügt. Fügen Sie dann den Namen des SQL Servers hinzu, den wir kopiert haben. Unmittelbar nach diesem Schritt werden wir database equals verwenden. Und hier müssen wir einen benutzerfreundlichen Namen unserer Datenbank angeben . Weil wir einen Microservice von Fahrzeugen machen. Also überlassen wir unsere Datenbank der legalen API-DB. Ordnung, jetzt in der nächsten Lektion werden wir die Migrationen zur Datenbank in einem SQL Server hinzufügen . Wir sehen uns also in der nächsten Lektion. 14. Migration Im Fahrzeugservice: In der letzten Lektion haben wir die Verbindungszeichenfolge eingerichtet. Und jetzt müssen wir die Migrationen hinzufügen, um eine Datenbank zu erhalten . Um die Migrationen zu ermöglichen. Zunächst benötigen wir ein NuGet-Paket, das Microsoft Dot Core Dot-Tools enthält. Und wir haben dieses NuGet-Paket bereits installiert. Also gehen wir zur Package Manager-Konsole. Und dort werden wir sie Migrationen hinzufügen. Bevor Sie jedoch die Migrationen hinzufügen, wählen Sie einfach dieses Projekt aus , in dem wir die Migrationen hinzufügen. Wenn Sie beispielsweise die Migration im Fahrzeug-Microservice hinzufügen , wählen Sie das Fahrzeug-Microservice-Projekt aus. Sie in der Package Manager-Konsole Stellen Sie in der Package Manager-Konsole das Standardprojekt auf Microservice ein. Wenn wir die Migrationen in einem anderen Projekt hinzufügen , müssen wir auch das Standardprojekt ändern. Zu diesem Zeitpunkt möchten wir die Migrationen in den Microservice von Michel aufnehmen. Stellen Sie also sicher, dass das Fahrzeugprojekt ausgewählt ist. Dann fügen wir in der Package Manager-Konsole den Befehl add dash migration hinzu und geben dann benutzerfreundliche Namen für die Migration an. Hi limit, initiale Erstellung, und lass uns die Eingabetaste drücken. Dadurch wird das Migrationsskript generiert. Dieses Skript wird verwendet, um die Datenbank und die Tabellen hinzuzufügen, aber wir haben die Datenbank noch nicht erstellt. also erneut in der Package Manager-Konsole Verwenden wir also erneut in der Package Manager-Konsole den Befehl update dash database, und drücken wir die Eingabetaste. Dadurch werden nun die Datenbank und die Tabellen im SQL Server Object Explorer hinzugefügt . Lassen Sie mich zum SQL Server Object Explorer gehen. Lassen Sie uns den Server aktualisieren. Und es wird diesen Server erweitern. Dann sehen wir den Datenbankordner. Sie wird dies weiter ausweiten. Dann sehen wir uns unsere Datenbank an. Darin wird auch die Tabelle zu sehen sein. Öffnen wir den Tisch. Und hier sehen Sie, dass wir in dieser Tabelle alle Eigenschaften haben , die wir in der Fahrzeugmodellklasse definiert haben . Okay, bisher haben wir die Datenbank und die Tabelle hinzugefügt. Fahren wir nun mit der nächsten Lektion fort. 16. Erstellen von Fahrzeugservice: Zuvor haben wir mit den Schnittstellen gearbeitet und beginnen nun in dieser Lektion mit den Diensten zu arbeiten. Grundsätzlich haben wir in der Fahrzeugschnittstelle diese Methoden definiert. Und jetzt bekommen wir einen Fahrzeugservice, in dem wir die Implementierung von Eye Legal Methods hinzufügen. Holen wir uns einen neuen Ordner und benennen die IT-Dienste um. In diesem Ordner fügen wir nun eine neue C-Sharp-Klasse und benennen sie um lokaler Dienst. Jetzt in diesem Fahrzeugservice die Implementierung von Methoden, die wir in die Fahrzeugschnittstelle geschrieben haben. Implementieren wir also diese Fahrzeug-Serviceklasse von einer Fahrzeugschnittstelle aus. Dann lösen Sie den Namespace für diese Schnittstelle auf. In Ordnung, wir müssen die Methoden dafür per Fahrzeugschnittstelle implementieren . Und wir werden die veal Studio-Funktion verwenden die Methoden zu implementieren. Wenn Sie dies nicht sehen können, drücken Sie Steuerperiode und implementieren Sie dann diese I-Fahrzeugschnittstellenmethoden. In Ordnung, also werden wir die in Studio integrierte Funktion alle Methoden in der Fahrzeug-Serviceklasse hinzufügen. Jetzt müssen wir nur noch die Logik innerhalb dieser Methoden hinzufügen. Zunächst beginnen wir mit unserer Fahrzeugmethode. Diese Methode gibt die Liste der Fahrzeuge zurück und wir fügen die Logik innerhalb dieser Methode hinzu. Aber zuerst benötigen wir eine Datenquelle. Wir möchten auf die DB-Set-Eigenschaft des Fahrzeugs zugreifen , die wir in der APA DB-Kontextklasse geschrieben haben. Um auf die Eigenschaft DB set zuzugreifen, fügen wir ein Feld vom Typ ABA hinzu. DB-Kontext ist der gesamte Namespace. Dann überlassen wir dieses Feld dem DB-Kontext. Okay, gleich danach fügen wir einen Konstruktor hinzu. Und hier erstellen wir eine neue Instanz des API-DB-Kontextes und weisen diese dem DB-Kontext zu. Mit diesen DVI-Kontexten können wir nun die Fahrzeugeigenschaft auswählen, die wir in der API-DB-Kontextklasse definiert haben . Also gehen wir einfach zu dieser Methode Alle Fahrzeuge holen über. Fangen wir mit der Arbeit an. Diese Methode gibt die Liste der Fahrzeuge aus der Datenbank zurück . Also verwenden wir einfach DB-Kontext-Punkt. Dann werden wir die Fahrzeuge D auswählen, wir sagten Eigentum. Und gleich danach wird diese Methode synchron sein und den await-Operator hier verwenden. Jetzt speichern wir das Ergebnis in einem variablen intimen Lakers. Okay, du wirst den Pfeil hier sehen. Und das liegt daran, dass dieser DB-Kontext innerhalb der Liste der Datensätze angezeigt wird. Also müssen wir das in zwei Listen umwandeln. Nachdem wir dies in zwei Listen umgewandelt haben, erhalten wir immer noch einen Fehler. Und das liegt daran, dass diese beiden Listen mit synchronen Aufrufen funktionieren. Aber dieses Mal verwenden wir die asynchronen Aufrufe. Lassen Sie uns also die Methode auflisten. In Ordnung. Dies ist der gesamte Namespace für diese beiden Listen, async, der aus diesem Microsoft dot Entity Framework Core-Namespace stammt . Lassen Sie uns diese Fahrzeuge schreiben. Dann gehen wir zu einer anderen GetMethod. Und zuerst machen wir diese Methode asynchron. Dann verwenden wir das await-Schlüsselwort. Gleich danach verwenden wir DB-Kontext und wählen die Lakers-Eigenschaft aus. Danach rufen wir eine Hilfsmethode auf. Das ist in Ordnung. Aber wir verwenden den asynchronen Aufruf. Verwenden wir also die feine asynchrone Methode. Und innerhalb dieser asynchronen Methode müssen wir diese ID übergeben, diese Zeile mit nur einem bestimmten spezifischen Fahrzeug gegen die ID, die in dieser Methode übergeben wird. Wir speichern das Ergebnis in einer Variablen und benennen es wie. In Ordnung. Jetzt habe ich gerade dieses Fahrzeug geschrieben. Gleich danach geht GetMethod zur Methode add. Zuerst machen wir diese Methode asynchron, warten das Schlüsselwort und wählen den DB-Kontext. Wählen Sie dann die Dividendeneigenschaft des Fahrzeugs. Und gleich danach rufen wir die Hilfsmethode add async auf. Innerhalb dieser Add-Methode übergeben wir dieses Fahrzeug-Objekt. Diese Zeile fügt nun die Daten innerhalb der Datenbank hinzu. Aber wir müssen das CF-Gen als diese Methode bezeichnen, denn um einige Insert -, Update- und Delete-Operationen durchzuführen , müssen wir das CF-Gen verwenden, diese Methode. Und da dies eine AC-Methode ist, verwenden wir hier asynchrone FCKW. Dann gehen wir zur Aktualisierungsmethode über. Zuerst machen wir diese Methode asynchron verwenden dann das await-Schlüsselwort. Und gleich danach werden wir DB-Kontext-Punkt-Fahrzeugeigenschaft verwenden . Jetzt rufen wir die find async auf und übergeben diese ID. Im Grunde findet diese Zeile den Fahrzeugdatensatz in einer Datenbank mit dieser ID. Okay, speichern wir das Ergebnis in einer Variablen und benennen es wie ein Objekt um. Ordnung, jetzt mit diesem Fahrzeugobjekt können wir die Eigenschaften des Labelglases auswählen. Wählen wir also W2-Klasseneigenschaften und weisen sie entsprechend zu. Sobald wir fertig sind, werden wir die Änderungen speichern aufrufen wird ausgegeben. In Ordnung, gehen wir zur legalen Methode zum Löschen über. Zuerst machen wir dieses async await-Schlüsselwort. Und danach verwenden wir DB-Kontext-Vektor v equals Eigenschaft. Und nennen wir die feine asynchrone Methode. Nun, in der Befriedigung wird async diesen ID-Parameter übergeben. Wie immer ruft diese Zeile den Fahrzeugdatensatz aus der Datenbank mit diesem in einer Variablen gespeicherten ID-Wert ab und nennt ihn Michael. Dann entfernen wir das Fahrzeug. Um das zu tun, rufen wir die DB-Kontext-Punktbeschriftungen, Geräte-ID-Eigenschaft, auf und rufen die integrierte Hilfsmethode auf, die entfernt wird. Innerhalb dieser Entfernungsmethode passieren Sie einfach dieses Fahrzeug. Denken Sie daran, dass wir für den Fall, dass wir uns bewegen, keine asynchrone Methode haben. Also müssen wir hier nur die remove-Methode verwenden. Und wie ich bereits sagte, wenn Bullen die Operation Einfügen, Aktualisieren und Löschen verwenden , müssen wir auch die Methode Save Changes aufrufen. Verwenden wir hier das asynchrone Speichern von Änderungen. Wir haben die Service-Schicht abgeschlossen. Wir sehen uns jetzt in der nächsten Lektion. 17. Erweiterungsmethoden und IOC im Fahrzeugservice: Zuvor haben wir die Vico Service-Klasse heruntergefahren, die für die grundlegenden Crud-Funktionen verantwortlich ist. In dieser Lektion werden wir nun mit der Dependency Injection innerhalb des Door Open Core-Projekts arbeiten der Dependency Injection innerhalb . Dependency Injection, das Entwurfsmuster, das eine Klasse unabhängig von ihren Abhängigkeiten macht Bei der Abhängigkeitsinjektion verlassen wir uns nicht auf die konkrete Implementierung einer Klasse. Vielmehr setzen wir auf die Schnittstellen. Dies macht unseren Code wartbarer. Und fast in jedem Unternehmen das Muster zur Injektion von Abhängigkeiten wird das Muster zur Injektion von Abhängigkeiten stark verwendet. Nehmen wir an, wir haben eine Schnittstelle und die Serviceklasse. In Zukunft werden wir jetzt eine Controller-Klasse hinzufügen. Und sie sind, Nehmen wir an, wir wollen auf die Methoden der Fahrzeugservice-Klasse zugreifen , dann müssen wir eine Instanz einer Fahrzeugservice-Klasse erstellen . Anstatt das Objekt zu erstellen, wird nun die Abhängigkeitsinjektion IoC, Inversion of Control-Container, verwendet Inversion of Control-Container, , der alle Abhängigkeiten behandelt. Grundsätzlich wird der IOC-Container unsere Schnittstelle und Fahrzeugservice-Klasse stören. Und es ist der IOC-Container, der die Abhängigkeiten für uns auflöst. Jetzt müssen wir kein Objekt des Rechtsdienstes erstellen, um auf die Methoden der Fahrzeugdienstklasse zuzugreifen. Wir müssen nur die Fahrzeugschnittstelle im Konstruktor übergeben. Und mit Hilfe dieser Schnittstelle können wir einfach auf die Angelegenheiten zugreifen. ASP.Net Core wird jetzt standardmäßig mit dem integrierten IOC-Container geliefert. Also müssen wir es einfach benutzen. Lassen Sie mich Ihnen sagen, dass Microsoft in Dart und sechs Versionen die Startup dot CS-Klasse verschoben hat. Zuvor haben wir den IOC-Container in der Startup-Klasse registriert . In Lehre sechs hat das Microsoft.NET-Team gerade eine einzige program.cs Klasse verwendet, die all das erledigt. Ab sofort arbeiten wir mit der Programmklasse. Wenn Sie jedoch eine ältere Version von Dalton-Core verwenden, sehen Sie hier die statische Klasse. Okay, wir gehen zur Programmdatei. Sie werden Builder Dot Service wählen. Und gleich danach wählen wir die Anzeigen-Scope-Methode aus, in der wir die Fahrzeugschnittstelle und die Legal Service Class hinzufügen . Übernehmen wir nun die Verantwortung für diesen L-Bereich , der eine neue Instanz der Fahrzeug-Serviceklasse erstellen wird . Wenn Sie die ältere Version von Dortmund Core verwenden, fügen Sie diese Zeile in der konfigurierten Servicemethode der Startklasse hinzu. Okay, also haben wir die Abhängigkeiten im Programm dot CSS registriert . In der nächsten Lektion erstellen wir jetzt den Controller. Also werde ich dich in der nächsten Lektion sehen. 18. Vehicles: In der letzten Lektion haben wir mit der Umkehrung des Kontrollcontainers gearbeitet und die Abhängigkeiten im IOC-Container gelöst. In dieser Lektion fügen wir nun einen Controller hinzu und injizieren das Interface in den Konstruktor des Controllers. Gehen wir also zum Controller-Ordner und ich füge eine neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option ausgewählt haben. Wählen Sie dann einfach diese Vorlage mit Lese-/Schreibaktionen aus. Diese Vorlage wird bereits Code enthalten und wir müssen dies nur ändern. Dann nenne ich diesen Controller dem Fahrzeugcontroller. Stellen Sie sicher, dass der Controller mit dem Schlüsselwort controller enden muss, da es sich um eine Namenskonvention handelt. Fügen wir es hinzu. Und los geht's. Sie können sehen, dass dieser Controller eingebauten Code für GET-, Post-, PUT- und Löschmethoden enthält . Wir werden diese Methoden nach Ihrer Wahl ändern. Lassen Sie uns zunächst ein Feld vom Typ Fahrzeugschnittstelle erstellen , den Namespace auflösen und ihm einen Namen geben, der Unterstrich Fahrzeugservice ist. Jetzt fügen wir einen Konstruktor hinzu, indem wir dieses Snippet CTE ODER verwenden dieses Snippet CTE ODER und zweimal die Tabulatortaste drücken. Okay, jetzt injizieren wir das Augen-Fahrzeug-Interface in diesen Konstruktor. Gleich danach weisen wir diesen Fahrzeugservice diesem unterstrichenen Fahrzeugservice zu. Jetzt mit diesem Unterstrich wird der Fahrzeugservice alle Methoden auswählen, die wir in der I-Fahrzeugschnittstelle geschrieben haben. Gehen wir zu dieser GetMethod. Derzeit gibt es die Liste der Strings zurück. Lass uns diesen Code entfernen. Und statt einer Schnur verwenden wir das unzählige Auge von Laker. Stellen Sie einfach sicher, dass Sie den Namespace für die modale Klasse lösen. Okay, jetzt fügen wir das async-Schlüsselwort zusammen mit dieser Methode hinzu. Und gleich danach verwenden wir diesen Unterstrich-Fahrzeugservice und wählen diese Methode zum Abrufen aller Fahrzeuge aus, die die Liste der Beschriftungen zurückgibt einen Fehler erhält. Und es heißt, die Art dieser Methode muss Dämmerung sein. Benutze die Aufgabe. Weil dieser Aufruf asynchron ist. Deshalb müssen wir hier auch das await-Schlüsselwort verwenden. Jetzt gehen wir zur anderen Überladung von GetMethod über. Und diese Methode gibt den String zurück. Anstatt die Zeichenfolge zu verwenden, wird der Typ dieser Methode zum Abdunkeln des Etiketts verwendet. Verwenden Sie das Schlüsselwort async. Dann lassen Sie uns den Unterstrich zurückgeben Fahrzeugservice Punkt wird von der ID-Methode beschriftet, die den ID-Parameter als hinter dieser ID hier nimmt. Und vergessen Sie nicht, das let-Schlüsselwort zu verwenden. Okay, jetzt gehen wir zur Post-Methode. Und sie werden zuerst den Typ dieser Methode zur Aufgabe machen und hier die asynchrone Methode verwenden. Gleich danach werden wir das Warten nutzen. Nutzen Sie dann den Unterstrich-Fahrzeugservice und wählen Sie die werberechtliche Methode. Diese Ad-Vehicle-Methode nimmt das Objekt der Fahrzeugklasse an. Anstatt die Zeichenfolge zu verwenden, fügen wir das Fahrzeugklassenobjekt und übergeben dieses Fahrzeug hier innerhalb der Methode add. In ähnlicher Weise gehen wir zur put-Methode über. Und diese PUT-Methode ist genau wie die Post-Methode. Es gibt nur einen geringen Unterschied zwischen diesen beiden Methoden und das ist die Verwendung des ID-Parameters. Zuerst wird der Typ dieser Methode zur Aufgabe gemacht. Dann benutze das asynchrone. Und gleich danach übergeben wir das Fahrzeug hier als Parameter. Jetzt nutzen wir das Warten. Wählen Sie dann Unterstrich Fahrzeugservice und wählen Sie die Methode zum Aktualisieren des Fahrzeugs aus, die die ID und das Fahrzeugobjekt übernimmt . Okay, lass es uns bestehen. Jetzt wechseln wir zur Methode delete. Und hier wählen wir den Typ dieser Methode Dämmerung aus und verwenden das async-Schlüsselwort. Jetzt nutzen wir das Warten hier. Und dazu verwenden wir die Underscore Maker Service Dot Delete-Methode, die einen ID-Parameter annimmt. Okay, wir haben die Funktionalität der Controller-Klasse abgeschlossen . Lassen Sie uns nun diese API ausführen und diese gute Funktionalität in der nächsten Lektion testen . 19. Durchführung von Vehicle Microservice: In der letzten Lektion haben wir mit der Controller-Klasse gearbeitet. In dieser Lektion werden wir nun unser Projekt und den Microservice für Tesla-Fahrzeuge ausführen . Lassen Sie uns dieses Projekt also schnell in unserem Browser ausführen. Und hier sehen Sie die Struggle-Dokumentationsseite für unsere API. In diesem Moment ist data equals table innerhalb einer Datenbank leer. Also gehen wir zuerst zur Post-Anfrage und klicken auf diese Triadenoption. Dann müssen wir die JSON-Daten hier hinzufügen. Entfernen Sie einfach die ID, da die ID automatisch inkrementiert wird, sodass wir die ID hier nicht übergeben müssen. Nun fügen wir einige anständige Daten und führen diese Anfrage aus. Los geht's. Fügen wir weitere Daten hinzu. Gehen wir nun zur Anfrage. Wählen Sie „tried out “ und führen Sie diese Anfrage aus. Sobald wir diese Anfrage ausführen , werden alle Datensätze abgerufen. Nehmen wir an, wir wollen nur die Daten dieses Fahrzeugs abrufen, werden einfach die Idee dieses Fahrzeugs kopieren. Dann gehen wir zur anderen GetMethod. Und lassen Sie uns diese ID übergeben und die Anfrage ausführen. Dieses Mal erhalten wir, anstatt alle Legos-Daten zu erhalten, nur einzelne Fahrzeugdaten. Okay, jetzt sagen wir mal, wir wollen ein Update durchführen. Dieses Radikal wird zur Aktualisierungsmethode gehen. Fügen wir die ID der Fahrzeug- und Gender-JSON-Daten hinzu. Führen wir nun die Anfrage aus, um zu überprüfen, ob diese Fahrzeugdaten aktualisiert wurden oder nicht, senden erneut eine Anfrage zum Abrufen. Und dieses Mal werden Sie sehen diese Fahrzeugdaten aktualisiert wurden. Okay, jetzt sagen wir, wir wollen dieses Fahrzeug löschen. Also gehen wir zur Löschanfrage. Wir übergeben die Fahrzeug-ID und führen sie einfach aus. Prüfen wir nun , ob diese Daten gelöscht wurden oder nicht. Also senden wir eine Anfrage zum Abrufen. Und los geht's. Wir bekommen keine Daten. Okay, bisher haben wir mit dem Fahrzeug-Microservice gearbeitet . Jetzt, im nächsten Abschnitt, werden wir mit unseren Kunden zusammenarbeiten, Microservice. Wir sehen uns also im nächsten Abschnitt. 20. Übersicht Customer: In diesem Abschnitt werden wir den Micro-Service für Kunden erstellen . Lassen Sie mich Ihnen den grundlegenden Ablauf des Microservices dieses Kunden erläutern. Dieser Weihnachts-Mikroservice basiert auf einer einzigen Methode, die beim Kunden verfügbar ist. Stattdessen die Kundenseite. Nach der mobilen Anwendung oder Webanwendung kann der Kunde die Details hinzufügen. Und dahinter wird die Post-Methode oder Add-Customer-Methode ausgeführt. Sie können auch andere Methoden zur Diskussion als Microservice hinzufügen , genau wie wir sie im Fahrzeug-Microservice hinzugefügt haben, z. B. alle Kunden abrufen, Kunden nach ID abrufen, Kunden aktualisieren und löschen Kunde. Unsere Anforderung ist jedoch nur eine Methode, die eine Methode zum Hinzufügen von Kunden ist. Beginnen wir also in der nächsten Lektion mit dem Schreiben des Mikroservices für diese Kunden . 21. Erstellen von Modellen für den Kundenservice: In dieser Lektion werden wir anfangen zu erreichen, dass der Microservice des Kunden das Microservice-Projekt dieses Kunden öffnet. Und dann fügen wir zunächst eine modale Klasse hinzu. Und zu diesem Zweck besorgen wir uns einen neuen Ordner und nennen ihn Models. Jetzt fügen wir im Ordner dieses Modells eine neue C-Sharp-Klasse hinzu. Wir nennen es Kunde. Okay, los geht's. In diesem Weihnachtskurs. Fügen wir einige Eigenschaften wie die ID des Kunden, Namen des Kunden, E-Mail-Adresse und die Telefonnummer des Kunden hinzu. Okay, hier haben wir die notwendigen Eigenschaften für sterbliches Kundenglas hinzugefügt . Lassen Sie mich Ihnen nun sagen, was der Kunde für eine Probefahrt für ein bestimmtes Fahrzeug buchen möchte . Dann müssen wir auch mit den Fahrzeug-Servicedaten umgehen . Nehmen wir zum Beispiel an, der Kunde möchte eine Probefahrt mit diesem Fahrzeug buchen . Das bedeutet, dass wir ihnen auch Fahrzeugdaten an den Kunden senden müssen , Microservice. Normale Ruhe-APIs. Dies können wir durch Relationen zwischen Tabellen erreichen. Aber hier hat der Fahrzeug-Microservice eine separate Datenbank, und der Kunden-Microservice erstellt keine Datenbank nach dem Fahrzeug-Microservice, sondern der Kunden-Microservice der Kunden-Microservice erstellt keine Datenbank nach dem Fahrzeug-Microservice, sondern der Kunden-Microservice replizieren Sie die Daten des Fahrzeugs. Microservice ist die allgemeine Regel von Microservice. Das für Microservices kann diese Datenbank nicht teilen, aber sie können die Daten teilen. Deshalb werden wir dieses Prinzip auf den Microservice unserer Kunden anwenden . Und hier in Santa müssen Kunden Micro-Service Klassen modellieren. Eine für das Fahrzeug des Kunden N14. Wann der Kunde die Probefahrt bucht. Dann senden wir ihnen auch Fahrzeugnamen an den Kunden, Microservice. In der Fahrzeugklasse benötigen wir nur zwei Eigenschaften. Nun, gleiches Ausweis und dann rechtlicher Name. Ein Kunde kann ein einzelnes Fahrzeug gleichzeitig buchen. Die Fahrzeug-ID ist also der Fremdschlüssel in der Kundentabelle. Okay, wir fügen eine Eigenschaft in der Kundenklasse hinzu und nennen wir sie Michael ID. Fügen wir nun eine Eigenschaft von Glas Michael hinzu und nennen sie Michael. Dadurch wird eine Eins-zu-Eins-Beziehung zwischen dem Kunden und der Fahrzeugklasse hergestellt. Aber wo ist die Fahrzeugklasse? Lassen Sie uns unsere Fahrzeugklasse in den Ordner dieses Modells packen. Und los geht's. Jetzt fügen wir zwei Eigenschaften hinzu, eine für die Fahrzeug-ID und die andere für den legalen Namen. Sobald wir die Fahrzeugklasse hinzugefügt haben, wird in der Kundenklasse kein Fehler mehr angezeigt. Okay. Lassen Sie mich Ihnen jetzt sagen, dass die ID in der Fahrzeugklasse automatisch inkrementiert wird. Aber wir möchten diese ID weitergeben, die Sie erhalten, wenn der Kunde ein Fahrzeug buchen möchte. Nehmen wir an, dieses Fahrzeug hat die folgende ID. Wenn der Kunde also eine Probefahrt mit diesem Fahrzeug buchen möchte , müssen wir dieselbe Fahrzeug-ID in der Fahrzeugtabelle speichern . Zusätzlich zu dieser ID wird ein identifizierendes Attribut hinzugefügt ein identifizierendes Attribut und diese von der Datenbank generierte Option zu none verwendet. Das bedeutet, dass die ID in dieser Tabelle ein Primärschlüssel ist, aber nicht automatisch inkrementiert wird. Okay, wir haben zwei Klassen erstellt, eine für das Fahrzeug des Kunden N14. In der nächsten Lektion erhalten wir jetzt die DB-Kontext-Klasse. Wir sehen uns also in der nächsten Lektion. 22. DbContext Für Kundenservice: In der letzten Lektion haben wir die Modalklasse für Kunde und Fahrzeug erstellt . Und jetzt in dieser Lektion werden wir die DB-Kontext-Klasse erstellen. Ich habe Ihnen bereits gesagt , dass der DB-Kontext als Brücke zwischen Ihrer Modellklasse und Ihrer Datenbank fungiert . Also sparen wir unsere Zeit und erstellen einen Ordner, nennen ihn Daten. Dann in diesem Datenordner innerhalb der Klasse. Anstatt also eine neue Klasse zu erstellen, kopieren wir die API-DB-Kontextklasse aus dem Fahrzeug-Microservice. Und dann fügen wir diese Klasse in den Datenordner des Microservice des Kunden ein. Okay, jetzt müssen wir die Namespaces reparieren da wir uns jetzt im Microservice-Projekt eines Kunden befinden . Also fügen wir den Namespace für das Kundenprojekt hinzu. Dann müssen wir die Eigenschaften festlegen. Eine ist für das Fahrzeug und die andere für den Kunden. Db-Set-Eigenschaft ist bereits vorhanden. Wir fügen also eine neue Eigenschaft vom Typ Kunde, nenne es, Kunden hinzu. Geben wir nun die Verbindungszeichenfolge diese DB-Kontext-Klasse an. Wir haben unsere Verbindungszeichenfolge in dieser eigenen Konfigurationsmethode definiert . Dieses Mal haben wir mit den Micro-Service-Projekten des Kunden zusammengearbeitet . Wir werden hier also nichts anderes als den Datenbanknamen ändern . Okay, wir sehen uns in der nächsten Lektion. 23. Migrationen im Kundenservice: In der letzten Lektion haben wir die Verbindungszeichenfolge eingerichtet und auch diese DB-Kontextklasse erstellt. Um die Datenbank zu erstellen, müssen wir ihnen nun Migrationen hinzufügen. Um die Migrationen zu ermöglichen, stellen Sie sicher, dass Sie dieses NuGet-Paket im Microsoft Project Ihres Kunden installiert haben . Okay, jetzt gehen wir zur Package Manager-Konsole. Und fügen wir die Migrationen hinzu. Bevor Sie jedoch die Migrationen hinzufügen, wählen Sie das Projekt aus, in dem wir die Migrationen hinzufügen möchten. Dieses Mal möchten wir die Migrationen im Microservice des Kunden hinzufügen . Stellen Sie also sicher, dass das Kundenprojekt ausgewählt ist. Dann wird in der Package Manager-Konsole auch das Kundenprojekt ausgewählt. Okay, jetzt fügen wir einen Befehl hinzu, der Dash Migration hinzufügen heißt und der Migration einen benutzerfreundlichen Namen gibt . Ich beschränke die ursprüngliche Erstellung, sofern sie nicht eintritt. Okay, los geht's. Dadurch wird das Migrationsskript generiert. Das Skript wird verwendet, um die Datenbank und die Tabellen hinzuzufügen. Aber wir haben die Datenbank noch nicht erstellt. Auch hier verwenden wir in der Package Manager-Konsole den Befehl update dash database. Und drücken wir die Eingabetaste. Dadurch werden nun die Datenbank und die Tabellen im SQL Server Object Explorer hinzugefügt . Lassen Sie mich zum SQL Server Object Explorer gehen. Da. Aktualisieren wir den Server. Und wenn wir diesen Server erweitern, sehen wir den Ordner Databases. Wenn wir dies weiter ausbauen, sehen wir unsere Datenbank für Kunden-Microservice. Und wenn wir dies noch einmal erweitern, werden in den Tabellen die Tabellen für Fahrzeuge und Kunden angezeigt . Okay, bisher haben wir eine Datenbank und die Tabellen hinzugefügt. Lassen Sie uns nun in der nächsten Lektion unsere Arbeit fortsetzen. 24. Erstellen von Schnittstelle für den Kundenservice: In der letzten Lektion haben wir mit den Migrationen gearbeitet. Und jetzt in dieser Lektion beginnen wir mit den Benutzeroberflächen. Was wir also tun werden, ist die gleiche Strategie anzuwenden , die wir im Fahrzeug-Microservice angewendet haben . Zunächst fügen wir einen neuen Ordner und nennen ihn interfaces. Dann fügen wir in diesem Ordner eine neue Oberfläche hinzu. Wir werden diese Schnittstelle dem Kunden nennen. Ordnung, fügen wir n hinzu Hier sind wir. In dieser Schnittstelle fügen wir nun eine Methode für die DAS hinzu. Benennen Sie diese Methode, um Kunden hinzuzufügen. Diese Kundenmethode wird grundsätzlich verwendet , um die Kundeninformationen hinzuzufügen. Und innerhalb dieser Methode übergeben wir den Parameter des Typs Kunde. Und für diesen Kunden müssen wir den Namespace für den Models-Ordner hinzufügen . In Ordnung, wir brauchen also nur eine Methode, um den Kunden hinzuzufügen , und die wir hinzugefügt haben. Wenn Sie andere Methoden hinzufügen möchten, z. B. Kunden gewinnen , Kunden wählen oder Kunden löschen, können Sie dieselbe Strategie anwenden , die wir in der Fahrzeugschnittstelle des legalen Microservices verwendet haben . Aber das ist keine echte Projektanforderung. Wir werden mit dieser einen Methode fortfahren. In der nächsten Lektion fügen wir nun die Dienste dieser Schnittstellenmethode hinzu. Wir sehen uns also in der nächsten Lektion. 25. Kundenservice erstellen: Zuvor haben wir mit den Schnittstellen gearbeitet, und jetzt in dieser Lektion werden wir mit den Diensten arbeiten. Also holen wir uns einen neuen Ordner und benennen die IT-Dienste um. Dann fügen wir in diesem Ordner eine neue C-Sharp-Klasse hinzu. Dann nennen wir es Kundenservice. Ordnung, in diesem Kundenservice schreiben wir die Implementierung der Methode, die wir in der Augen-Kundenschnittstelle definiert haben . Implementieren wir diese Kundenservice-Klasse von der II-Kundenschnittstelle aus. Ordnung, es gibt den ganzen Namespace für diese Schnittstelle. Dann müssen wir die Methode für diese hohe Kundenschnittstelle implementieren . Jetzt müssen wir nur noch die Logik innerhalb dieser Methode zum Hinzufügen von Kunden hinzufügen. Aber vorher fügen wir ein Feld vom Typ EPA DB-Kontext, result, den Namespace hinzu. Dann benennen wir dieses Feld DB-Kontext. Gleich danach fügen wir einen Konstruktor hinzu. Und hier erhalten wir eine neue Instanz des API-DB-Kontextes und weisen diese dem DB-Kontext zu. Mit diesem DB-Kontext können wir nun die Eigenschaft DB-Set customers and vehicles auswählen, die wir in der APA DB-Kontextklasse definiert haben. Lassen Sie mich Ihnen die Logik erklären, die in diese Methode geschrieben wird. Angenommen, ein Kunde möchte eine Probefahrt mit diesem Fahrzeug buchen. Wenn er also die Kundendaten zur Verfügung stellt, wird ein Datensatz für den Kunden mit dieser Fahrzeug-ID hinzugefügt. Jetzt möchte Kunde B auch eine Probefahrt mit demselben Fahrzeug buchen . In diesem Fall wird also der Kunden-B-Datensatz hinzugefügt. Aber wie Sie wissen, möchten Kunde a und Kunde B eine Probefahrt mit demselben Fahrzeug buchen eine Probefahrt und die Fahrzeug-ID ist offensichtlich dieselbe. Das bedeutet, dass wir den Primärschlüsselfehler erhalten. Weil das allgemeine Prinzip der Datenbanktabelle darin besteht, dass der Primärschlüssel eindeutig ist. Was wir also überprüfen werden, der Kunde wird eine Probefahrt gegen ein Fahrzeug buchen. Dann fragen wir zunächst aus der Fahrzeugtabelle ab und prüfen, ob das Fahrzeug in der Datenbank vorhanden ist oder nicht. Wenn keine Datensätze existieren. Dann fügen wir zuerst ein neues Fahrzeug in die Fahrzeugtabelle ein. Und gleich danach, wenn das Fahrzeug bereits in der Datenbank vorhanden ist, setzen wir null für diese Fahrzeugeigenschaft der Kundenklasse, da die Daten bereits vorhanden sind. Und jetzt müssen Sie nicht mehr dieselbe Rechtsakte hinzufügen. Und gleich danach fügen wir den Kunden in die Datenbank ein. Okay, fügen wir diesen Code innerhalb der Methode Add Customer hinzu. Lassen Sie uns zunächst diese Methode asynchron machen. Verwenden Sie dann das await-Schlüsselwort. Und gleich danach wählen wir die DB-Kontext-Punkt-Fahrzeug-DB-Set-Eigenschaft aus, die als erste oder standardmäßige asynchrone Methode bezeichnet wird. Und darin verwenden wir den Lambda-Ausdruck und prüfen, ob die ID des legalen Stalls mit der Fahrzeug-ID übereinstimmt, die wir von diesem Kundenobjekt erhalten. Dann speichern wir das Ergebnis in einer Variablen und nennen es legal in dB. Okay, jetzt prüfen wir, ob das Fahrzeug in dB Null ist. Dann fügen wir das Gewicht hinzu, das dem DB-Kontext gegeben wurde dot vehicles dot add async. Und darin lassen Sie uns an diesem Kunden vorbeikommen. Dann. Wie immer verwenden wir die asynchrone Methode zum Speichern von Änderungen im DB-Kontext. Und vergiss nicht, das Gewicht hier hinzuzufügen. Okay? Wenn Delta Equal Racket bereits in der Datenbank vorhanden ist, muss das gleiche Fahrzeug nicht erneut in der Datenbank hinzugefügt werden. Weil dies zu einer Verletzung des Primärschlüssels führen wird. Weil der Primärschlüssel für jeden Bucket eindeutig ist. In diesem Fall wollen wir also den neuen Fahrzeugrekord nicht hinzufügen. Und wir setzen das Kundenfahrzeug gleich null. Und gleich danach fügen wir die Kunden mithilfe des await-Schlüsselworts in die Datenbank ein. Dann wählen wir DB context dot customers, dot, add async und übergeben diesen Kunden hier. Gleich danach rufen wir eine asynchrone Methode Save Changes auf. Okay, los geht's. Wir haben die Service-Schicht abgeschlossen. Wir sehen uns jetzt in der nächsten Lektion. 26. Erweiterungsmethode und IOC im Kundenservice: Zuvor haben wir die Kundenservice-Klasse erstellt. In dieser Lektion werden wir nun mit einer Abhängigkeitsinjektion innerhalb des Kernprojekts des Dokuments arbeiten . Wie bereits erwähnt , wird ASP.Net Core standardmäßig mit dem integrierten IOC-Container geliefert. Also müssen wir es einfach benutzen. Lass mich zur Datei program.cs gehen. Und sie werden den Builder Dot Service nutzen. Gleich danach wählen wir die Anzeigen-Scope-Methode aus , in der wir die Kundenschnittstelle und die Kundenservice-Klasse hinzufügen . Jetzt liegt es in der Verantwortung dieses Anzeigenbereichs , für den wir eine neue Instanz der Kundenservice-Klasse erhalten. Okay, also haben wir die Abhängigkeiten in der Klasse program.cs registriert . In der nächsten Lektion erstellen wir jetzt den Controller. Ich verstehe dich also in der nächsten Lektion. 27. Customers: In der letzten Lektion haben wir mit der Umkehrung von Kontrollcontainern gearbeitet und Abhängigkeiten im IOC-Container erzeugt. In dieser Lektion fügen wir nun einen Controller hinzu und injizieren das Interface in den Konstruktor des Controllers. Gehen wir also zum Controller-Ordner. Ich füge eine neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option ausgewählt haben. Wählen Sie dann einfach diese Vorlage mit Lese-/Schreibaktionen aus. Diese Vorlage wird bereits Code enthalten und wir müssen dies nur ändern. Dann nenne ich diesen Controller dem Kunden-Controller. Und fügen wir es hinzu. Sie können sehen, dass dieser Controller eingebauten Code für GET-, Post-, PUT- und Löschmethoden enthält eingebauten Code für GET-, . In der Steuerung des Kunden. Wir brauchen nicht all diese Aktionsmethoden. Wir brauchen nur eine Post-Methode. Lassen Sie uns zunächst den Rest des Codes im Controller des Kunden entfernen . Okay, los geht's. Lassen Sie uns nun ein Feld der Typ-II-Kundenschnittstelle aufrufen. Hier ist der ganze Namespace. Und geben Sie ihm einen Namen, der den Kundenservice unterstreicht. Dann fügen wir einen Konstruktor und fügen die Kundenschnittstelle in diesen Konstruktor ein. Gleich danach weisen wir diese Kundenumfragen diesem unterstrichenen Kundenservice zu. Okay, jetzt gehen wir zu dieser Post-Methode über. Lassen Sie uns den Typ dieser Methode zur Aufgabe machen und hier die asynchrone Methode verwenden. Gleich danach würden wir das await-Schlüsselwort verwenden. Dann verwenden wir den unterstrichenen Kundenservice und wählen die Methode zum Hinzufügen von Kunden aus. Diese Methode zum Hinzufügen von Kunden übernimmt das Objekt der Kundenklasse. Anstatt die Zeichenfolge hier zu verwenden, fügen wir das Kundenklassenobjekt und übergeben diesen Kunden dann hier in der Methode add customer. Okay, wir haben die Funktionalität der Kundenklasse abgeschlossen . Lassen Sie uns nun diese API ausführen und die Add Casper-Funktionalität testen . In der nächsten Lektion. 28. Kundenservice ausführen: In der letzten Lektion haben wir mit einer Controller-Klasse gearbeitet. Und jetzt in dieser Lektion führen wir unsere Projekte durch und testen den Microservice des Kunden. Wenn Sie sowohl Kunden - als auch Fahrzeug-Microservice ausführen möchten , klicken Sie mit der rechten Maustaste auf die Lösung. Klicken Sie dann auf Als Datenprojekte festlegen. Derzeit ist ein Einzelstartprojekt ausgewählt. Wir werden also mehrere Startprojekte auswählen und dann die Startoption für dieses Kunden- und Rechtsprojekt auswählen die Startoption für und auf Okay klicken Gleich danach lassen Sie uns die Projekte ausführen. Und dieses Mal werden wir in Studio zwei Projekte bauen, eines für Kunden und das zweite für Fahrzeuge. Okay, gehen wir zum Fahrzeugprojekt und führen eine Get-Anfrage aus. Und hier bekommen wir die Liste der Labels. Angenommen, der Kunde möchte eine Probefahrt mit diesem Fahrzeug buchen . Offensichtlich wird der Kunde eine gut aussehende Benutzeroberfläche haben . Zu diesem Zweck. Möglicherweise haben Sie eine mobile Anwendung oder Webanwendung für die Buchung des Desk-Laufwerks. Aber im Moment hatten wir keine Microservice-Entwicklung. Also müssen wir die Fahrzeug-ID manuell weitergeben. Bei einer Webanwendung oder einer mobilen Anwendung erfolgt dies hinter der Benutzeroberfläche. Und der Benutzer, der die mobile Anwendung verwendet wird keine Ahnung haben, was im Backend vor sich geht. Sie sehen nur die Benutzeroberfläche. Wir gehen also davon aus, dass der Kunde eine Probefahrt für dieses bestimmte Fahrzeug buchen möchte . Also wechseln wir zum Microservice des Kunden. Und da, Lass uns zu dieser Post-Anfrage gehen. Und gleich danach fügen wir die Daten eines Kunden hinzu. Dann müssen wir die Fahrzeug-ID und den legalen Namen hier weitergeben. Dann schauen wir uns die Post-Anfrage an und los geht's. Prüfen Sie nun, ob dieser Datensatz hinzugefügt wurde oder nicht. Wir wechseln also zum SQL Server Object Explorer und aktualisieren ihn. Öffnen Sie die Datenbank für den Microservice des Kunden. Und hier, wenn ich will, öffne die Kundentabelle und du wirst sehen, dass der Datensatz hinzugefügt wurde. In ähnlicher Weise öffnen wir die Fahrzeugtabelle und der Datensatz ist hier vorhanden. Jetzt schauen wir mal. Ein anderer Benutzer möchte sich Desktop für dasselbe Fahrzeug ansehen. Im Microservice des Kunden werden die Details eines anderen Benutzers hinzugefügt. Und weil er auch einen Desktop für dieses Fahrzeug buchen möchte , werden wir diese Label-ID nicht ändern. Okay, lass uns eine Anfrage senden. Und los geht's. jetzt in der Tabelle Kunden Wenn wir es jetzt in der Tabelle Kunden aktualisieren, haben wir zwei Kunden. Und wenn wir die Fahrzeugtabelle auffrischen, dann haben wir hier nur ein Fahrzeug, weil Kunden eine Probefahrt für dasselbe Fahrzeug buchen möchten. Und deshalb haben wir nur ein Vesikel in der Datenbank. Okay, ich hoffe, Sie haben eine Vorstellung davon, was tatsächlich im Microservice des Kunden passiert. Das ist alles aus dieser Lektion. Wir sehen uns jetzt im nächsten Abschnitt. 29. Azure Service Bus Übersicht: In diesem Abschnitt werden wir mit dem Azure Service Bus arbeiten. Lassen Sie mich Ihnen sagen, was ist Azure Service Bus? Azure Service Bus ist im Grunde ein Cloud-Messaging-Dienst und ein vollständig verwalteter unternehmensweiter Nachrichtenbroker mit Nachrichtenwarteschlangen und Themen zum Veröffentlichen von Abonnements. Im Grunde wird es verwendet, um alle in der Cloud laufenden Anwendungen, Geräte und Dienste mit anderen Anwendungen oder Diensten zu verbinden in der Cloud laufenden Anwendungen, Geräte und Dienste . Mit Hilfe des Azure Messaging-Dienstes können wir Daten zwischen zwei oder mehr als zwei Diensten austauschen . Zuvor haben wir den Microservice des Kunden erstellt, und ich möchte Ihnen sagen, dass Männer die Kundendaten hinzufügen werden. Dann senden wir auch eine Kopie der Daten an den Azure-Messaging-Dienst. Und dann bekommen wir den Reservierungs-Microservice. Dann holen wir uns diese Daten aus dem Azure Bus. Kreuzen Sie Azure Burst als Warteschlange an, in der ein Center , in unserem Fall der Microservice des Kunden, eine Nachricht an die Azure-Messaging-Warteschlange sendet. Und später erhält der Empfänger , der der Reservierungsservice sein wird, diese Nachricht aus der Azure-Warteschlange. In diesem Abschnitt arbeiten wir also mit dem zentralen Teil des Azure-Messaging-Busses. Und später, wenn wir das als Vision-Mikroservice verwenden, dann arbeiten wir oder den Empfängerteil des Azure Service Bus. Okay, also fangen wir ab der nächsten Lektion an, am Azure Bus zu arbeiten . 30. Setting einrichten: In dieser Lektion müssen wir die Azure Service Bus-Warteschlangen erstellen. Gehen wir also zum Azure-Portal und wählen die Option „Ressource erstellen“ aus. Okay, dann in der Suchleiste Research Service Bus. Und wähle einfach das aus. Sie sehen die Details des Servicebusses wie einen Sack-Cloud-basierten Messaging-Dienst , der Hinweise und Themen enthält. In diesem Kurs arbeiten wir mit den Warteschlangen. Erstellen wir den Service Bus. Zuallererst müssen wir die Ressourcengruppe auswählen. Stellen Sie sich diese Ressourcengruppe als einen Ordner , in den wir mehrere Dinge hinzufügen können. Lassen Sie uns eine neue Ressourcengruppe bei Gibson erstellen benutzerfreundlicher Name. Okay, dann fügen wir den Namespace hinzu. Nun, ein Namespace ist eigentlich die URL Ihres Service Bus. Stellen Sie sicher, dass dies eindeutig ist. Dann müssen wir den Ort auswählen , an dem wir den Service Bus bekommen möchten. Wählen Sie einfach einen beliebigen Standort, RG oder Standort in der Nähe. Dann haben wir die Möglichkeit , mit einigen Pflanzen wie Basic, Standard und Premium Preise zu erzielen. In diesem Kurs werden wir den Basisplan verwenden. Wenn Sie auf Vollständige Preisdetails anzeigen klicken, sehen Sie alle Pläne mit ihren Preisen und Funktionen. Der Basisplan ist ziemlich günstiger. Wir werden uns also dafür entscheiden, weil wir nicht mit den Themen arbeiten. Dieser Basisplan ist also perfekt für diesen Kurs. Klicken wir auf die Option Überprüfen plus Erstellen. Und das wird eine gewisse Validierungsprüfung durchführen. Sobald die Validierung erfolgreich war , wählen wir diese Option aus. Bereitstellung beginnt. Die Bereitstellung ist im Gange. Also müssen wir hier warten. Wir werden eine Nachricht sehen, wir sehen, dass die Bereitstellung abgeschlossen ist. Gehen wir nun zur Option Ressource. Wir müssen die Warteschlange erstellen. Hier. Wir wählen diese Kid Q-Option. Und dann wurden wir gebeten, unseren Würfel zu benennen. Lassen Sie uns unserer Warteschlange einen benutzerfreundlichen Namen geben. Dann gehen wir zu den Standardeinstellungen. Hier muss ich Ihnen sagen, dass diese Nachrichtenzeit 14 Tage beträgt. Das heißt, wenn die Nachricht nicht aus der Warteschlange abgerufen wird, wird die Nachricht nach 14 Tagen aus der Warteschlange entfernt. Sie können die Zeit verlängern oder verkürzen. Aber ich gehe zu den Standardeinstellungen. Holen wir uns das Q. Und R Q wird gerade erstellt. Bald werden wir eine Nachricht sehen, die besagt, dass Ihr Q erfolgreich erstellt wurde. In der nächsten Lektion werden wir diese Daten jetzt an diesen Würfel senden. Wir sehen uns in der nächsten Lektion. 31. Azure Sender Service: In der letzten Lektion haben wir die Azure Service Bus-Warteschlange erstellt. Und jetzt in dieser Lektion werden wir diese Daten vom Weihnachts-Microservice an die Azure Service Bus-Warteschlange senden Weihnachts-Microservice an die Azure Service . Also lass uns zuerst ins Studio gehen. Und sie klicken mit der rechten Maustaste auf das Microservice-Projekt des Kunden. Wählen Sie NuGet-Pakete verwalten aus. Und gleich danach können wir dieses NuGet-Paket für Azure Service Bus. Der Name dieses Pakets ist Azure dot messaging, dot service plus. In Ordnung, wir werden dieses NuGet-Paket installieren. Und los geht's. Sobald die Installation abgeschlossen ist , gehen wir zum Projekt-Link dieses Pakets. Und hier sehen Sie die Anleitung Erste Schritte zur Verwendung dieses Pakets. Scrolle einfach nach unten. Und hier haben wir einen Beispielcode, der uns sagt, wie eine Nachricht an den Azure Service Bus senden können. Zunächst ziehen wir die Verbindungszeichenfolge für unseren Azure Service Bus ab. Dann benötigen Sie einen Warteschlangennamen , an den wir eine Nachricht senden möchten. Gleich danach erstellen wir eine Servicebuslinie, die eine Referenz auf die Verbindungszeichenfolge annimmt. Dann bekommen wir ein Center, dem wir einen Verweis auf die Warteschlange bekommen. Dann erhalten wir eine Service Bus-Nachricht mit einer Nachricht , die wir senden möchten. Und schließlich sendet die AC-Methode für gesendete Nachrichten eine Nachricht an den Azure Service Bus. In ähnlicher Weise verwenden wir diesen Code, wenn wir die Nachricht erhalten möchten . Im Moment konzentrieren wir uns jedoch darauf , eine Nachricht an den Azure Service Bus zu senden. Deshalb werden wir uns später auf diesen Code konzentrieren , wenn wer am Reservierungs-Microservice gearbeitet hat. Dann werden wir auch über diesen empfangenen Nachrichtencode für Azure Service Bus sprechen. Okay, also gehen wir ins Videostudio. Und ich füge den Code zum Senden von Daten an Azure Service Bus hinzu. Lass mich zum Kundenservice gehen. Und innerhalb dieser Methode zum Hinzufügen von Kunden können wir den Code zum Senden von Daten an Azure Service Bus schreiben . Wir gehen also zur GitHub-Dokumentationsseite von Azure Service Bus. Und sie werden diesen Code sehen, einfach diesen Teil dieses Codes kopiert. Und dann fügen wir in der Kundenservice-Klasse diesen Code ein. Jetzt müssen wir diesen Code ein wenig modifizieren. Zuallererst müssen wir die Namespaces auflösen. Dann müssen wir die Verbindungszeichenfolge und den Warteschlangennamen übergeben . Um die Verbindungszeichenfolge zu erhalten wird zum Azure-Portal gewechselt. Und dann gehen wir zum Azure Service Bus. Öffnet den Service Bus. Und gleich danach werden wir die Richtlinien für den gemeinsamen Zugriff sehen . Klicken Sie einfach darauf und dann sehen wir dieser gemeinsame Road Manager-Zugangsschlüssel dies auswählt. Dann sehen wir eine primäre Verbindungszeichenfolge. Wir werden diese Verbindungszeichenfolge kopieren. Und gleich danach schalten wir es auf. Wir werden Studio Space trennen dieses Ding hier. Okay, was ist jetzt mit dem Namen der Warteschlange? Wir werden wieder zum Azure-Portal wechseln. Und auf der rechten Seite sehen wir diese Hinweise. Wählen Sie einfach das aus. Und hier sehen wir unseren Warteschlangennamen. Übergibt diesen Warteschlangennamen innerhalb einer Kundenservice-Klasse. In Ordnung, los geht's. Lassen Sie mich Ihnen nun sagen , dass dieser Code perfekt ist , um die Daten an den Azure Service Bus zu senden. Das Problem hier ist jedoch, dass dieser Code nur eine Zeichenfolgennachricht an den Azure Service Bus sendet. Aber wir wollen das Kundenobjekt senden. Was wir also tun werden, ist zuerst das Kundenobjekt auf JSON zu satelliten. Und dann senden wir das Kundenobjekt. Also verwenden wir anständiges convert dot zivilisiertes Objekt und 40s Jason convert, um das neutrale Soft-NuGet-Paket zu verwenden. Und der Namespace. Dann passiert das industrialisierte Objekt dieses Kundenobjekt. Und dieses Objekt wird dieses Weihnachtsobjekt in eine JSON-Zeichenfolge konvertieren . Lassen Sie uns insgesamt eine Variable ergeben. Und dann haben wir Objekt als Text gemacht. Dann übergibt die Service Bus-Nachricht dieses Objekt als Text. Okay, jetzt lass uns das Projekt starten. Nehmen wir an, der Kunde möchte die Fahrzeug-Tischfahrt anhand dieser Fahrzeug-ID buchen . Also werden wir hier die notwendigen Details weitergeben. Und dann senden wir die Post-Anfrage. Okay, los geht's. Wenn wir jetzt zur SQL-Datenbank gehen, sehen wir, dass dieser Kundendatensatz hinzugefügt wurde. Dann gehen wir zum Azure-Portal. Im Azure-Dienst. Gehen wir zu den Cues und wählen unsere Warteschlange aus. Und gleich danach werden wir diese Vorschauoption für den Service Bus Explorer sehen . Deaktivieren Sie diese Option. Wir werden diese große Option anpassen. Hier sehen wir die Details im JSON-Format, die wir vom CRISPR-Micro-Service senden. In Ordnung, wir haben die Daten in der Azure Bus-Warteschlange bearbeitet. Wenn wir jetzt mit dem Reservierungs-Microservice arbeiten , werden diese Daten aus der Azure Bus-Warteschlange verwendet. Das ist also alles aus dieser Lektion. Wir sehen uns jetzt im nächsten Abschnitt. 32. Reservierungen Service Übersicht: In diesem Abschnitt werden wir den Microservice soweit bringen , als Iterationen. Lassen Sie mich Ihnen den grundlegenden Ablauf dieses Reservierungs-Microservices beibringen . Dieser Reservierungs-Microservice basiert auf zwei Methoden. Und dies sind Reservierungen erhalten und Aktualisierungsstatus. Wenn der Kunde eine Testfahrt mit einem Fahrzeug bucht, wird eine Kopie dieser Daten in die Azure Service Bus-Warteschlange verschoben. Und jetzt wird im Reservierungsservice die Methode Reservierungen abrufen aufgerufen. Und innerhalb dieser Methode zum Abrufen von Reservierungen rufen wir zunächst die Daten aus der Azure Service Bus-Warteschlange ab. Dann speichern wir die Daten in der Datenbank. Und gleich danach wird die Liste der Reservierungen angezeigt. Die andere Methode ist die Aktualisierung des männlichen Status, die verwendet wird, um eine Bestätigungs-E-Mail an die Kunden zu senden . Wir werden die Dinge untersuchen, während wir in diesem Kurs vorankommen. Okay, also fangen wir in der nächsten Lektion an , diesen Mikrodienst für Zulassungen zu schreiben . 33. Erstellen von Modellen für den Reservierungsservice: In dieser Lektion werden wir anfangen, den Reservierungs-Microservice zu erhalten den Reservierungs-Microservice dieses Reservierungs-Microservice-Projekt öffnet. Zuallererst fügen wir eine modale Klasse hinzu. Zu diesem Zweck erstellen wir einen neuen Ordner und nennen ihn models. In diesem Ordner benötigen wir eine Klasse, die die Daten enthält , die wir aus der Azure Service Bus-Warteschlange bekämpfen möchten . In der Azure Service Bus-Warteschlange werden Sie sehen, dass wir folgende JSON-Daten haben. Kopieren wir diese JSON-Daten. Und dann gehen wir ins Fitnessstudio zur C-Sharp-Website. Und sie fügen nur diese DSM ein, die CTL-Eigenschaften entwickelt hat. Okay, los geht's. Wir haben zwei Klassen als Glas. In der Root-Klasse. Lassen Sie uns diese Brille innerhalb des Reservierungs-Microservice-Projekts erstellen . Darin werden wir im Studio sein. Wir werden eine neue C-Sharp-Klasse erstellen. Und dann haben wir diese Klasse legal benannt. Gleich danach kopieren wir die Eigenschaften dieser Fahrzeugklasse und fügen sie in dieses Glas ein. Jetzt kriegen wir einen weiteren Kurs. Nun, die Jason to CTL-Website hat diese Klasse benannt, um sie zu leiten, aber wir möchten dieser Klasse einen anderen Namen geben. Nehmen wir an, wir möchten diese Klasse der Reservierungsdatenklasse nennen , vertrauliche Reservierungen. Okay, jetzt kopieren wir diese Eigenschaften und fügen sie in das Reservierungsglas ein. nun innerhalb der Reservierungsklasse eine weitere Eigenschaft hinzu, Fügen wir nun innerhalb der Reservierungsklasse eine weitere Eigenschaft hinzu, die uns mitteilt, ob die Bestätigungs-E-Mail an den Kunden gesendet wurde oder nicht. Also fügen wir eine Eigenschaft des Dipols hinzu und nennen es als männlichen Duft. In dieser speziellen Klasse können wir diese ID dann nicht als Primärschlüssel da wir diese ID aus der Azure Service Bus-Warteschlange erhalten . Und was ist, wenn zwei Kunden dasselbe Fahrzeug buchen würden? Das bedeutet, dass die Daten, die abgerufen werden , im folgenden Format vorliegen. Bei zwei verschiedenen Kunden die Fahrzeugtestfahrt für ist die Fahrzeugtestfahrt für uns dasselbe Fahrzeug und die Fahrzeug-ID offensichtlich identisch. Und wenn Sie versuchen, dieselbe Fahrzeug-ID zweimal zu speichern, erhalten wir eine Fehlermeldung des Primärschlüssels, da der Primärschlüssel eindeutig sein muss. Wir fügen also eine weitere Eigenschaft in der Fahrzeugklasse hinzu und nennen sie V. Lassen Sie uns diese Eigenschaft als Primärschlüssel festlegen, indem wir das key-Attribut hinzufügen und dann den Namespace auflösen. Okay, los geht's. Wir haben die Modellklassen erstellt. Lassen Sie uns nun in der nächsten Lektion unsere Arbeit fortsetzen. 34. DbContext Für Reservierungsperiode: In der letzten Lektion haben wir die Modellklasse für Reservierung und Fahrzeug erstellt . Und jetzt in dieser Lektion werden wir die DB-Kontext-Klasse erstellen. Ich habe Ihnen bereits gesagt , dass der DB-Kontext als Brücke zwischen Ihrer Modellklasse und Ihrer Datenbank fungiert . Wir werden also eine Zeit sehen und einen Ordner erstellen, ihm Daten nennen. Dann in diesem Datenordner innerhalb der Klasse. Anstatt also eine neue Klasse zu erstellen, kopieren wir die APA DB-Kontextklasse aus dem Waco-Microservice und fügen sie dann in den Datenordner des Reservierungs-Micro-Service-Projekts ein. Jetzt müssen wir die Namespaces hier korrigieren, da wir uns jetzt in den Reservierungs-Microservice-Projekten befinden. Wir werden also den Namespace für das Reservierungsprojekt hinzufügen. Dann müssen wir die Eigenschaften festlegen. Einer ist für radikal und der andere ist für Vorbehalt. Wir werden also eine neue Eigenschaft vom Typ Reservierung hinzufügen und sie als reservierungen bezeichnen. Okay, jetzt geben wir die Verbindungszeichenfolge diese DB-Kontext-Klasse an. Wir haben unsere Verbindungszeichenfolge in dieser bei der Konfigurationsmethode definiert . Dieses Mal arbeiten wir mit unserem Reservierungs-Microservice-Projekt. Also benennen wir unsere Datenbank zur Reservierungs-API db. Ok, jetzt in der nächsten Lektion werden wir die Migrationen hinzufügen, um die Datenbank innerhalb von SQL Server hinzuzufügen. Wir sehen uns also in der nächsten Lektion. 35. Migrationen Im Reservierungsservice: In der letzten Lektion haben wir die Verbindungszeichenfolge eingerichtet und auch diese DB-Kontextklasse erstellt. Um eine Datenbank zu erstellen, müssen wir ihnen nun Migrationen hinzufügen. Um die Migrationen zu ermöglichen, stellen Sie sicher, dass Sie das NuGet-Paket in Ihrem Reservierungs-Microservice-Projekt installiert haben . Dann gehen wir zur Package Manager-Konsole. Und wir werden die Migrationen hinzufügen. Aber bevor Sie die Migrationen hinzufügen, wählen Sie einfach das Projekt aus, in dem wir die Migrationen hinzufügen möchten. Dieses Mal möchten wir das Microservice-Projekt Migrationen in Zweifel ziehen. Stellen Sie also sicher, dass das Innovationsprojekt ausgewählt ist. Dann wird in der Package Manager-Konsole auch das Reservierungs-Microservice-Projekt ausgewählt. Fügen wir nun einen Befehl hinzu , der sich bei der Migration befindet. Geben Sie dann einen benutzerfreundlichen Namen für die Migration an. Ich nenne es initial, create, ls, drücke Enter. Dadurch wird das Migrationsskript generiert. Dieses Skript wird verwendet, um die Datenbank und die Tabellen hinzuzufügen, aber wir haben die Datenbank noch nicht erstellt. Also wechseln wir wieder zur Package Manager-Konsole. Hier. Ich werde einen Befehl hinzufügen, der die Dash-Datenbank aktualisiert, sofern er nicht eingegeben wird . Dadurch werden die Datenbank und die Tabellen im SQL Server Object Explorer generiert . Gehen wir also zum SQL Server Object Explorer und wirken uns dann weniger auf den Server aus. Okay, wenn wir diesen Server erweitern, sehen wir den Ordner Databases. Wenn wir die Datenbanken erweitern, sehen wir unsere Datenbank für Reservierungen Microservice. Und wenn wir dies noch einmal erweitern, werden in den Tabellen die Tabellen für Fahrzeuge und Reservierungen angezeigt . Okay, bisher haben wir die Datenbank und die Tabellen hinzugefügt. Nun setzen wir unsere Arbeit in der nächsten Lektion fort. 36. Schnittstelle Für Reservierungspflicht erstellen: Zuvor haben wir mit den Migrationen gearbeitet, und jetzt in dieser Lektion beginnen wir unsere Arbeit mit unseren Schnittstellen. Was wir also tun können, ist die gleiche Strategie anzuwenden , die wir im legalen Mikrodienst angewendet haben . Fügen wir einen Ordner hinzu und nennen ihn interfaces. Dann fügen wir in diesem Ordner eine neue Oberfläche hinzu. Und dieses Mal werden wir diese Schnittstelle zur Reservierung benennen . Okay, fügen wir es hinzu. Und los geht's. In dieser Schnittstelle fügen wir nun eine Methode von Die hinzu, das Liste der Reservierung. Dann gibt es den ganzen Namespace-Namen. Diese Methode, um Reservierungen zu erhalten. Diese Methode zum Abrufen von Reservierungen wird grundsätzlich verwendet, um die Liste der Reservierungen abzurufen, die aus der Azure Service Bus-Warteschlange abgerufen werden . Sobald wir die Reservierungen erhalten haben, senden wir eine Bestätigungs-E-Mail an die Kunden, die das Fahrzeug für eine Probefahrt buchen. Also werden wir eine weitere Methode vom Typ task hinzufügen. Und dann werden wir diese Methode benennen, um den männlichen Status zu aktualisieren. Und diese Methode nimmt die Reservierungs-ID, übergibt hier die ID vom Integer-Typ. Okay, wir haben diese beiden Methoden hinzugefügt. Eine zum Abrufen der Fernsehliste und die andere dient zum Senden einer Bestätigungs-E-Mail an die Kunden. In der nächsten Lektion fügen wir nun die Dienste aus den Schnittstellenmethoden hinzu. Okay, wir sehen uns in der nächsten Lektion. 37. Reservierungen Service erstellen: Wir haben mit den Schnittstellen gearbeitet und jetzt werden wir in dieser Lektion mit den Diensten arbeiten. Also erstellen wir einen neuen Ordner und nennen ihn services. Dann fügen wir innerhalb des Ordners eine neue C-Sharp-Klasse hinzu. Zu dieser Zeit nennen wir es hat Höhenservice. Okay, jetzt in der Klasse die die Implementierung von Methoden schreibt , die wir in der Reservierungsschnittstelle definiert haben . Implementieren wir also diese Ausstellungsklasse über Reservierungsschnittstelle. Dann ergibt sich ein Namespace für diese Schnittstelle. Und gleich danach müssen wir die Methoden dafür entweder als visuelle Schnittstelle implementieren . Okay, wir müssen nur die Logik darin hinzufügen, Reservierungen einholen und männliche Status-Methoden aktualisieren. Aber vorher holen wir uns ein Feld vom Typ API DB-Kontext, den gesamten Namespace. Dann benennen wir dieses Feld DB-Kontext. Dann fügen wir einen Konstruktor hinzu. Und hier erstellen wir eine neue Instanz des API-DB-Kontextes und weisen diese diesem DB-Kontext zu. Mit diesem DB-Kontext können wir nun die DB-Set-Reservierungen und die Fahrzeugeigenschaft auswählen , die wir in der APA DB-Kontextklasse definiert haben . Lassen Sie mich Ihnen die Logik erklären, die in die Methode zum Abrufen von Reservierungen geschrieben wird . Wie Sie wissen, haben wir eine Azure Service Bus-Warteschlange, in die wir Daten im Microservice des Kunden gesendet haben und jetzt im Reservierungs-Microservice diese Daten aus der Azure Service Bus-Warteschlange repariert. Dann speichern wir diese Daten in der MS SQL Server-Datenbank. Und gleich danach werden die Daten zurückgegeben. Daher holen wir die Daten später in diesem Kurs aus der Azure Service Bus-Warteschlange ab. Deshalb füge ich hier einen Kommentar hinzu, dass wir den Azure Service Bus-Empfängercode später hinzufügen werden . Dann geben wir diese DB ctx dot reservierungen zurück , da2 list async. Vergessen Sie nicht, die async await hinzuzufügen und stellen Sie sicher, dass Sie die Namespaces auflösen. Wir haben diesen Schritt verlassen , in dem die Daten aus der Azure Service Bus-Warteschlange abgerufen werden . Aber keine Sorge, wir werden weitermachen, dann werden wir die Funktionsstörung beenden. Gehen wir zur zweiten Methode über, nämlich dem Aktualisierungsstatus. Diese Aktualisierung des Mahlzeitstatus fügt eine Logik hinzu, um eine Bestätigungs-E-Mail an den Kunden zu senden. Nehmen wir an, wir haben die folgenden Daten in Reservierungstabelle für wenige Kunden. Jetzt möchten wir diesem Kunden eine Bestätigungs-E-Mail senden . Daher werden wir diese Methode für den männlichen Status verwenden. Wir werden die Reservierungs-ID weitergeben. Dann prüfen wir, ob der Datensatz in der Reservierungstabelle für diese Reservierungs-ID vorhanden ist oder nicht. Wenn der Datensatz nicht null ist und diese männliche Dufteigenschaft falsch ist, senden wir eine E-Mail an den Kunden. Und gleich danach setzen wir die Eigenschaft mail sent auf true und speichern einfach die Änderungen. Fügen wir diesen Code also in diese Aktualisierungsstatus-Methode ein. Zuerst fügen wir diese DB-Kontext-Punktreservierung dot find async hinzu und übergeben diese ID. Dann verwenden wir async await. Gleich danach speichern wir das Ergebnis in einer Variablen und benennen es einfach als Ergebnis. Jetzt prüfen wir, ob das Reservierungsergebnis nicht null ist. Und das ist männlich zentrierte Eigenschaft ist falsch, dann fügen wir die Logik hinzu, um diese E-Mail an den Kunden zu senden. Für das Versenden von E-Mails initialisieren wir also den SMTP-Client. Dann lösen Sie den Namespace auf. In diesem SMTP-Client. Zuerst legen wir die Portnummer 2587 fest. Dann fügen wir Anmeldeinformationen für eine Eigenschaft und initialisieren eine neue Instanz von Netzwerkanmeldeinformationen. Dann werden darin die E-Mail und das Passwort weitergegeben. Für dieses Tutorial. Ich empfehle Ihnen, zu Testzwecken eine zusätzliche E-Mail zu schreiben. Dann verwenden wir das enable SSL und setzen es auf true. Sobald wir diesen Teil des Codes hinzugefügt haben, verwenden wir diesen SMTP-Client und rufen die send-Methode auf. Und die Abstiegsmethode nimmt vier Dinge von zwei, Thema und Polnisch. Der erste Parameter , der von stammt, übergeben wir unsere E-Mail-Adresse. Und im zweiten Parameter , der an den Empfänger gerichtet ist, müssen wir die E-Mail übergeben. Dieser Kunde möchte diese E-Mail wirklich senden. Und wir holen das aus der Datenbank, indem wir die Reservierung selbst verwenden , Dodd E-Mail-Eigenschaft. Dann im Betreff Lassen Sie uns eine Nachricht weitergeben. Und auch im Körper, füge einfach etwas Text hinzu. Ordnung, dieser Code sendet eine Bestätigungs-E-Mail an den Kunden. Sobald wir die E-Mail an den Kunden gesendet haben, müssen wir diese Eigenschaft für männliche Düfte auf true setzen. Und gleich danach rufen wir die asynchrone Methode Save Changes auf. Okay, das ist alles aus dieser Lektion. Wir sehen uns jetzt im nächsten. 38. Erweiterungsmethode und IOC im Reservierungsservice: Zuvor haben wir die Reservierungsservice-Klasse erstellt. In dieser Lektion werden wir nun mit der Abhängigkeitsinjektion innerhalb des Kernprojekts der Doktrin arbeiten Abhängigkeitsinjektion innerhalb des . Wie bereits erwähnt, dieser bite fork.net-Kern mit einem eingebauten IOC-Container geliefert. In dieser Lektion werden wir es also verwenden. Lass mich zur Klasse program.cs gehen. Und hier verwenden wir den Builder-Dot-Service. Und gleich danach wählen wir die Anzeigen-Scope-Methode , in der wir die Ideen-Innovationsschnittstelle und die Reservierungsservice-Klasse hinzufügen . Nun ist es diese Möglichkeit dieses Add Scoped, wodurch wir eine neue Instanz der Reservierungsservice-Klasse erhalten . Okay, also haben wir die Abhängigkeiten in der Klasse program.cs registriert . Und jetzt in der nächsten Lektion erstellen wir den Controller. Okay, ich sehe dich in der nächsten Lektion. 39. Reservations: In der letzten Lektion haben wir mit der Umkehrung des Kontrollcontainers gearbeitet und müssen die Abhängigkeiten im IOC-Container lösen . In dieser Lektion fügen wir nun einen Controller hinzu und injizieren das Interface in den Konstruktor des Controllers. Gehen wir also zum Controller-Ordner und ich füge eine neue Controller-Klasse hinzu. Stellen Sie sicher, dass Sie diese API-Option ausgewählt haben. Wählen Sie dann einfach diese Vorlage mit Lese-/Schreibaktionen aus. Nennen wir diesen Controller nun dem Reservierungs-Controller. Sie können sehen, dass dieser Controller eingebauten Code für GET-, Post-, PUT- und Löschmethoden enthält . Im Reservierungs-Controller. Wir brauchen nicht all diese Aktionsmethoden. Wir brauchen nur zwei Methoden. Eine, um Daten aus dieser Vision-Liste zu bekommen. Und die zweite wird verwendet, um die E-Mail an den Kunden zu senden. die E-Mail an den Kunden zu senden, können wir die put-Methode verwenden. Wir werden also andere Methoden außer dem Port und der GetMethod entfernen . Lassen Sie uns nun ein Feld vom Typ erstellen, entweder die Erlösungsschnittstelle ist der gesamte Namespace und geben Sie ihm einen Namen, der Unterstreichungsreservierungsdienst ist. Dann fügen wir einen Konstruktor hinzu und injizieren die Reservierungsschnittstelle in den Konstruktor. Unmittelbar danach weisen wir diesen Reservierungsservice diesem unterstrichenen Reservierungsservice zu . Okay, jetzt gehen wir zu dieser GetMethod. Lassen Sie uns zunächst den Rückgabetyp dieser Methode in Unzählige Konservierung ändern . Dann benutze das asynchrone hier. Und gleich danach werden wir den Warte-Operator verwenden. Dann verwenden wir den Underscores Envision Service und wählen die Methode Reservierungen abrufen. Okay, gleich danach werden wir das Ergebnis in einer Variablen speichern und es als Reservierungen bezeichnen. Und zum Schluss geben Sie die Reservierungen zurück. Dann gehen wir zur Put-Methode über. Hier. Wir wollen das Objekt nicht übergeben, da dieser mittlere Update-Status nur einen ID-Parameter annimmt. Also entfernen wir den anderen Parameter aus dieser Methode. Dann verwandeln wir den Typ dieser Methode in task. Und gleich danach wählen wir den Underscore Reservierungsservice. Wählen Sie dann die Methode Update Middle Status und übergeben Sie diese ID hier. Vergessen Sie nicht, await async hinzuzufügen. In Ordnung, wir haben die Funktionalität der Controller-Klasse abgeschlossen . Im nächsten Abschnitt werden wir nun die Daten aus der Azure Service Bus-Warteschlange korrigieren und dann die Zulassungsmethode der Reservierungsservice-Klasse abschließen . Okay, wir sehen uns im nächsten Abschnitt. 40. Azure Service Bus Receiver Übersicht: In diesem Abschnitt werden wir mit dem Azure Service Bus arbeiten. Später in diesem Kurs haben wir die Daten an die Azure Service Bus-Warteschlange gesendet , als wir mit dem Microservice unserer Kunden zusammengearbeitet haben. In diesem Abschnitt rufen wir nun ab, dass Daten aus der Azure Service Bus-Warteschlange auf dieses Reservierungsprojekt abzielen. Und darin werde ich das NuGet-Paket installieren. Wie immer klicken wir mit der rechten Maustaste auf das Reservierungsprojekt und gehen dann zu NuGet-Pakete verwalten. Und hier suche ich diese neue Abstimmung für Azure Messaging Service Bus. Okay, lass uns dieses Paket installieren. Und los geht's. Die Lösung wurde abgeschlossen. Und jetzt werden wir in der nächsten Lektion den Code schreiben, um die Daten aus der Azure Service Bus-Warteschlange abzurufen . Wir sehen uns also in der nächsten Lektion. 41. Azure Consumer Service: In dieser Lektion müssen wir die Daten aus der Azure Service Bus-Warteschlange abrufen . In der letzten Lektion haben wir dieses NuGet-Paket für den Azure-Messaging-Dienstbus installiert . Wenn Sie nun zu diesem Projektlink des Pakets gehen, sehen wir den Beispielcode die Verwendung dieses Pakets. Scrolle nach unten. Und das ist der Code, über den ich gesprochen habe. Wir haben diesen Code bereits früher im Microservice des Kunden verwendet , um die Daten an den Azure Service Bus zu senden . Und jetzt verwenden wir diesen Code, um die Daten aus dem Azure Service Bus abzurufen . Es gibt nur einen geringen Unterschied zwischen dem Sender- und Empfängercode. Zuvor haben wir diesen Code verwendet, um die Daten an die Azure Service Bus-Warteschlange zu senden . Lassen Sie mich Ihnen nun sagen , dass wir diese Codezeilen weiterhin für die Verbindungszeichenfolge, den Warteschlangennamen und den Service Bus-Client verwenden diese Codezeilen weiterhin für die Verbindungszeichenfolge, werden. Aber anstatt den Absendercode zu verwenden, verwenden wir diesmal den Empfängercode. Wir gehen zum Kundenservice-Projekt. In der Serviceklasse. Wir haben diese Codezeilen für die Verbindungszeichenfolge und den Warteschlangennamen verwendet , und der Service Bus-Client hat diese Codezeilen kopiert. Und dann gehen wir zum Dienst für rote Emissionen. Und in der Methode zum Abrufen von Reservierungen füge ich diesen Code ein. Okay, jetzt lösen wir die Namespaces auf. Dann gehen wir zur Dokumentationsseite dieses Nuggets. Kopieren wir diese Codezeilen und fügen sie in die Reservierungsmethode ein. Lassen Sie mich Ihnen nun sagen, dass dieser Code derzeit verwendet wird, um eine einzelne String-Nachricht vom Azure Service Bus abzurufen. Aber wir wollen die Liste der Datensätze erhalten und die Datensätze liegen im JSON-Format vor. Diese vom Servicebus empfangene Nachricht ist also vom Typ. Ich brauche nur eine Liste. Geben wir einen Namen wie empfangene Nachrichten. Okay, gleich danach, nehmen wir an, wir wollen zehn Datensätze in einer einzigen Anfrage abrufen. Also werden wir dann hier bestehen. Dann prüfen wir, ob die empfangenen Nachrichten null sind. Dann gib hier null zurück. Andernfalls verwenden Bullen die for-each-Schleife für die Schiedsgerichtsbarkeit. Fügen wir also eine for-each-Schleife hinzu. Und hier wollen wir in diesen empfangenen Nachrichten hydratisieren. Daher werden wir die von Service Bus empfangene Nachricht verwenden und die empfangene Nachricht benennen. Dann fügen wir ein Schlüsselwort hinzu und verwenden die empfangenen Nachrichten, was unsere Liste ist. Okay, wir schneiden diese Codezeilen aus und fügen sie in diese foreach-Schleife ein. Im Grunde wird diese Zeile verwendet, um den Körper der Daten abzurufen und in eine Zeichenfolge umzuwandeln. Okay, jetzt werden die Daten, die abgerufen werden , in Form von JSON vorliegen, und wir müssen die JSON-Daten in C-Sharp-Objekte konvertieren . Wir verwenden also nur eine Konvertierung. Löst den Namespace auf. Dieser anständige Konvertit stammt aus den Neutralen des Pakets. Dann nennen wir das Satelliten-Objekt. Wir wollen diesen Körper entsprechend der Reservationsklasse abbilden. Wir werden hier die Reservierung bestehen und hier Körper. Dann speichern wir das Ergebnis in einer Variablen und nennen es message created. Once ruft die Daten ab und speichert sie dann in der Datenbank. Also verwenden wir DB-Kontext, Punktreservierungen, fügen async hinzu und übergeben diese erstellte Nachricht. Verwenden Sie dann das await-Schlüsselwort. Und gleich danach rufen wir die asynchrone Methode Save Changes auf. Okay, dieser Code reicht aus, um die Daten aus dem Azure Service Bus abzurufen und die Daten in der Reservierungstabelle zu speichern . Nehmen wir an, wir haben fünf Vorträge in der Azure Service Bus-Warteschlange. Und was wird diese fünf Datensätze holen und das Ergebnis in der Reservierungstabelle speichern. Dann müssen wir diese fünf Datensätze aus der Azure Service Bus-Warteschlange entfernen . Und auf der Dokumentationsseite können Sie sehen, dass wir diesen vollständigen Nachrichtencode haben. Und es besagt, dass wir die komplette asynchrone Methode aufrufen müssen, um die Nachricht aus der Warteschlange oder dem Abonnement zu entfernen die komplette asynchrone Methode aufrufen müssen, um die Nachricht aus der Warteschlange oder dem Abonnement . Wir werden diese Codezeile verwenden. Was ich tun werde ist, diese Zeile zu kopieren und sie dann in die for each Schleife einzufügen. In Ordnung, wir haben den gesamten Code zum Abrufen der Daten aus der Azure Service Bus-Warteschlange hinzugefügt . In der nächsten Lektion führen wir nun das Reservierungs-Microservice-Projekt und überprüfen die Funktionalität. Wir sehen uns also in der nächsten Lektion. 42. Durchführung von Reservierungen: In der letzten Lektion haben wir den Code zum Abrufen von Daten aus der Azure Service Bus-Warteschlange erstellt . In dieser Lektion führen wir nun den Reservierungs-Microservice um die Funktionalität zu überprüfen. Also bevor es endet, das ist Invasionen Microservice. Zunächst Irland, der Microservice des Kunden, und versuchen Sie einige Daten in die Azure Service Bus-Warteschlange einzufügen. Okay, los geht's. Wir haben nur wenige Datensätze hinzugefügt. Versuchen wir nun, das als Mikroservice für die Zulassung auszuführen. Und los geht's. Unser Micro-Service für Reservierungen läuft. Versuchen wir nun, den Endpunkt Reservierungen abrufen aufzurufen. Und hinter den Kulissen werden die Daten aus der Azure Service Bus-Warteschlange abgerufen, und wir fügen sie in die Reservierungen ein und das Licht wird stabil. Und schließlich erhalten wir das Ergebnis hier. Okay, los geht's. Wir holen die Daten. Wenn Sie nun zur Tabelle Reservierungen und Fahrzeuge gehen, sehen wir die Datensätze, die wir aus der Azure Service Bus-Warteschlange erhalten haben . Nehmen wir nun an, wir möchten diesem Kunden eine Bestätigungs-E-Mail senden . Wir übergeben also die ID dieses Kunden in der Aktualisierungsstatus-Methode und senden diese Anfrage. Okay, los geht's. Wenn das Ereignis nun korrekt ist, wird Kunden hier eine Bestätigungs-E-Mail gesendet. Ich habe es überprüft und Sie werden sehen , dass wir eine Bestätigungs-E-Mail erhalten haben. Okay, das ist alles aus dieser Lektion. Wir sehen uns jetzt im nächsten Abschnitt. 43. Api Gateway Übersicht: In diesem Abschnitt werden wir über ein API-Gateway sprechen. Was genau sind die APA-Gateways und warum brauchen wir API Gateway-Microservices. Lassen Sie mich Ihnen sagen, dass ein API-Gateway ein API-Management-Tool ist , das sich zwischen einem Client und einer Sammlung von Back-End-Diensten befindet . Diese Definition ist zu 100% korrekt. Aber lassen Sie mich die Dinge einfacher machen. Angenommen, Sie haben nur wenige Mikrodienste wie Fahrzeuge, Kunden und Reservierungen. Und ein Kunde, bei dem es sich ein mobiles Gerät oder eine Anwendung handeln kann, um ein mobiles Gerät oder eine Anwendung handeln kann, kann mit den verschiedenen URLs mit unserem Microservice sprechen. Anstatt Zugriff auf all diese URLs zu gewähren, fügen wir direkt nach dem Client oder vor den Microservices ein Gateway hinzu. Jetzt wird im API-Gateway der gesamte Code für den Zugriff auf diese Mikrodienste konfiguriert . Der Kunde kennt jedoch die URL des Microservice nicht. Wenn der Client den Fahrzeug-Microservice testen möchte, sendet der Client eine Anfrage an das API-Gateway. Und API Gateway sendet eine Anfrage an den Fahrzeug-Microservice und erhält die Antwort. Und gleich danach kehrt API Gateway zurück, das auf den Client reagiert. Kurz gesagt, API Gateway wird verwendet, um Ihre APIs vor unserer Verwendung und Missbrauch zu schützen . Denn in API Gateway können wir auch Ratenbegrenzung verwenden. Immer wenn Microservices sehr komplex sind und wir skalieren wollen, wird API Gateway eine sehr wichtige Rolle spielen. Load Balancing ist auch mit API Gateway sehr perfekt. Kurz gesagt, wir können sehen, dass die Verwendung von API Gateway mehrere Vorteile bietet. In der nächsten Lektion konfigurieren wir das NuGet-Paket für die Verwendung von API Gateway. Wir sehen uns in der nächsten Lektion. 44. Setup Api Gateway: In diesem Kurs verwenden wir das Ozelot-API-Gateway. Bevor wir also weitermachen, holen wir uns eine neue Doktrin namens API-Projekt. Benennt dieses Projekt zu API Gateway. Okay, fügen wir dieses Projekt hinzu. Lassen Sie uns nun ein paar Dinge in diesem Projekt tun. Wir brauchen den Controller und die Modellklassen nicht. Also entfernen wir den Controller-Ordner. Und dann werden wir auch die Wettervorhersageklasse löschen. Okay, jetzt ist das Projekt leer und es enthält nur die App-Einstellungsklasse und die Programmklasse, die wir zur Konfiguration des API-Gateways benötigen. Jetzt in diesem Projekt, um das NuGet-Paket für Ocelot hinzuzufügen. Wir suchen nach diesem API-Gateway-Paket, das Ozelot ist. Dann installieren wir dieses Paket. Okay, los geht's. Das Paket wurde installiert. Jetzt gehen wir zum Programm Glass und sie werden dieses Ozelot-Paket konfigurieren. Zuerst fügen wir Builder Dot Services hinzu. Dann werden wir hier die Ozelot-Methode hinzufügen. Für diese ADD-Ozelot-Methode müssen wir den Namespace auflösen, also die Ozelot-Punkt-Abhängigkeitsinjektion. Auch hier verwenden wir f dot. Dann werden wir hier die use ocelot Methode hinzufügen, die die Middleware konfiguriert. Zu diesem Zweck fügen wir diesen Namespace hinzu, der Ozelot-Punkt-Middleware ist. In Ordnung, also sind diese beiden Linien wichtig, um den Ozelot zu konfigurieren. In der nächsten Lektion werden wir nun die Routen für das API-Gateway zuordnen. Wir sehen uns also in der nächsten Lektion. 45. Routes konfigurieren: In der letzten Lektion haben wir ein NuGet-Paket für Ocelot installiert. Und jetzt in dieser Lektion fügen wir die Route für API-Gateway hinzu, die zur Punkt-JSON-Datei der App-Einstellungen geht. Und wir fangen von vorne an. Ich werde dir ein paar Dinge sagen. Schauen wir uns dieses Bild an. Wir haben einen Kunden- und API-Gateway sowie einen Rechtsdienst. Der Kunde kennt die URL des API-Gateways. Der Client sendet also eine Anfrage an dieses API-Gateway. Und API Gateway sendet die Anfrage weiter an den Microservice. Diese URL, die dem Client zur Verfügung gestellt wird, ist eine Upstream-URL. Und die URL des Microservices ist die Downstream-URL. Okay, denken Sie daran, Upstream und Downstream, da wir es stark innerhalb des API-Gateways verwenden werden . In Ordnung, kehren wir zur Punkt-JSON-Datei der App-Einstellungen zurück. Und wir fügen die Routen hinzu. Also lasst uns die Routen benutzen. Öffnen Sie dann die eckigen Klammern. Und darin werden die geschweiften Klammern hinzugefügt. Verwenden wir jetzt das Downstream, aber das Dublett. Die Downstream-Teilevorlage ist im Grunde der Endpunkt des Microservice. Ich weiß, dass Sie darüber nachdenken, wie Sie den APA-Endpunkt finden können. Nehmen wir an, wir möchten den API-Endpunkt für ein lokales Microservice-Projekt finden . Also führen wir diesen Fahrzeug-Microservice aus. Hier sehen wir anstelle eines Browsers die Endpunkte für diese Methoden. Dieser Slash-API-Slash-Fahrzeuge ist der Endpunkt dieser Methode. Und in ähnlicher Weise haben wir Endpunkte aller Methoden. Okay, fangen wir mit dieser get-Methode an, die die Liste der Fahrzeuge zurückgibt. Wie wir wissen, ist der Endpunkt für diese Anfrage Slash-API-Slash-Fahrzeuge in der Downstream-Pfadvorlage, deren Slash-API-Slash-Fahrzeuge verwenden. Dann fügen wir das Downstream-Schema hinzu. Und hier müssen wir das HTTPS festlegen, da wir direkt danach auf das HTTPS-Protokoll zugreifen wollen . Verwenden Sie die Downstream-Hosts und -Ports. Und dann fügen wir die eckigen Klammern hinzu. Und darin werden die Host- und Portnummer hinzugefügt. Der Host ist ein lokaler Host, da wir legalen Microservice innerhalb des lokalen Hosts herunterfahren. Das wird also die Host- und Portnummer sein. Wir müssen den Hafen passieren, in dem Fahrzeug-Microservice läuft. Schauen wir uns an, in welchen Armen wir den Fahrzeug-Microservice betreiben. Wenn wir also das Fahrzeug-Microservice-Projekt ausführen , sehen wir die Portnummer. Kopieren wir diese Portnummer. Gleich danach. Wir gehen zur Einstellungsdatei der API Gateway-App. Da. Lassen Sie uns diese Portnummer als Basis festlegen. Okay, dann setze ein Kommatrennzeichen hinter die eckige Klammer. Und außerhalb wird eine Upstream-Bot-Vorlage hinzugefügt. Wie bereits erwähnt, wird die Upstream-Teilvorlage die URL sein, die dem Client zur Verfügung gestellt wird, diese Slash-Gateway-Slash-Fahrzeuge dem Client zur Verfügung stellt. In Ordnung, dann fügen wir die Upstream-HTTP-Methode hinzu. Und hier müssen wir diesen Upstream-Teil definieren , der darauf abzielt, wie viele HTTP-Methoden? Fügen wir das Gettier hinzu. Es wird zum Webbrowser gehen. Dann werden wir sehen, dass sowohl GET als auch Post dieselben Endpunkte verwenden. Daher werden wir auch Boost in der Upstream-HTTP-Methode hinzufügen. In Ordnung, das war's. Einfach so. Wir müssen die Route für andere Methoden hinzufügen. Also fügen wir ein Komma hinzu. Anstatt den Code hinzuzufügen, kopiere ich einfach diesen Teil und füge ihn hier ein. Nehmen wir an, dieses Mal haben wir gute Methoden zum Abrufen, Aktualisieren und Löschen ausgearbeitet . Und diese Methoden haben denselben API-Endpunkt. In der Vorlage für den Downstream-Pfad werden Schrägstrich, API-Schrägstrich und Fahrzeug-Schrägstrich hinzugefügt . Und dann fügen wir die ID in die geschweiften Klammern ein. In der Upstream-Teilevorlage wird nun auch die URL geändert , um Gateway-Slash-Fahrzeuge zu slashen. Gleich danach fügen wir eine Schrägstrich-ID in die geschweiften Klammern ein. In der abstrakten Methode möchten wir dann sagen, auf wie viele Aktionen diese Route abzielt. Mit dieser Route wird target, GET , PUT und gelöscht. Und wir werden diese HTTP-Methoden hier hinzufügen. In Ordnung. Jetzt müssen wir einfach die Routen für andere Microservices wie Kunden und Reservierungen hinzufügen . Also nochmal, kopieren wir diesen Code und fügen ihn hier ein. Dieses Mal zielen wir auf den Microservice des Kunden ab. Also werde ich einfach das Microsoft Project des Kunden leiten. Werde die Routen sehen. Wir haben nur eine Route, nämlich Slash-API-Slash-Kunden. Also fügen wir es hier unter der Portnummer hinzu. Also kopieren wir die Portnummer des Microservice-Projekts des Kunden. Und dann füge es hier ein. Gleich danach weniger als die vorgelagerte Bot-Vorlage, um Gateway-Kunden zu slashen. Und offensichtlich wird dieser Fall plus Microservice mit der Post-Methode sprechen. Deshalb fügen wir hier die Post-STP-Aktionsmethode hinzu. Dann kopieren wir diesen Code und fügen ihn hier ein. Dieses Mal zielen wir auf den Microservice für Reservierungen ab. Nochmals, was ich tun werde ist das Envisions Microservice-Projekt zu leiten. Und hier sehen wir die APA-Endpunkte. Wir haben hier zwei verschiedene Routen. Also verwenden wir zuerst den Code für diese Slash-API-Slash-Reservierungen. In der App-Einstellungsdatei wird als Vorlage geändert , um API-Slash-Reservierungen zu verwenden. Dann fügen wir hier die Portnummer für immer hinzu. Reservierungen Microservice-Projekt. Gleich danach wird die Downstream-Teilevorlage entsprechend geändert. Dann ist diese Steckdose dunkler getMethod. Stellen Sie also sicher, dass Sie die Aktionsmethode hier hinzufügen. Okay, kopieren wir diesen Code als bösartigen Weg und fügen ihn erneut ein. Dieses Mal ändern wir den API-Endpunkt gemäß dieser PUT-Methode. Also verwenden wir Schrägstrich, API-Slash-Reservierungen und fügen dann die ID in die geschweiften Klammern ein. In ähnlicher Weise fügen wir die ID und die Downstream-Teilevorlage hinzu. Dann wird in der Upstream-HTTP-Methode übergeben. Aber weil wir sterben wollen Good put action Methode von dieser erlaubten URL. Okay, los geht's. Wir haben den Code für API Gateway vervollständigt. In der nächsten Lektion werden wir nun die Funktionalität überprüfen. Wir sehen uns also in der nächsten Lektion. 46. Api Gateway testen: In der letzten Lektion haben wir ein Angebot für API Gateway hinzugefügt . Und jetzt in dieser Lektion gehen wir über API Gateway zu Desktop-Micro-Diensten. Okay, jetzt leite ich alle vier Projekte. Also klicken wir mit der rechten Maustaste auf die Lösung, legen dann Startprojekte fest und stellen sicher, dass diese mehreren Starter-Projekte ausgewählt sind. Dann starten wir alle Projekte und klicken auf Okay, lass uns die Projekte ausführen. Und los geht's. Dadurch werden alle vier Projekte geladen. Jetzt verwenden wir das API-Gateway. Das bedeutet, dass wir das Fahrzeug-, Kunden- oder Reservierungsprojekt nicht direkt nutzen werden. Wir wählen ein API-Gateway. Api Gateway-Projekt. Fügen wir einen API-Endpunkt für das Fahrzeug hinzu. Und drücken Sie Enter. Los geht's. Wir werden einen gleichwertigen Theta bekommen. In ähnlicher Weise können Sie andere Endpunkte überprüfen. Ich möchte Ihnen sagen , dass dieses API-Gateway keine Dokumentation für APIs enthält. Um die anderen Endpunkte wie Post, PUT und Delete Unit zu überprüfen, verwenden Sie das Postman-Tool. haben Sie bereits behandelt, wie Sie unsere APIs über Postman testen In meinem letzten APA-Kurs haben Sie bereits behandelt, wie Sie unsere APIs über Postman testen können. Okay, das ist alles aus dieser Lektion. Wir sehen uns jetzt in der nächsten.