Bearbeiten

Freigeben über


Häufig gestellte Fragen zu .NET Aspire

In diesem Artikel werden häufig gestellte Fragen zu .NET Aspire aufgeführt. Eine umfassendere Übersicht finden Sie unter .NET Aspire Übersicht.

Warum wählen Sie .NET Aspire über Docker Compose für die Orchestrierung aus?

Docker Compose ist hervorragend, ist aber unproduktiv, wenn sie nur mehrere Projekte oder ausführbare Dateien ausführen möchten. Docker Compose erfordert Entwickler, Containerimages zu erstellen und Apps innerhalb von Containern auszuführen. Dies ist eine Barriere, wenn Sie nur Ihr Front-End, Back-End, Mitarbeiter und eine Datenbank ausführen möchten. Mit .NET Aspire müssen Sie nichts darüber lernen, was Sie bereits wissen.

Die Konfiguration über deklarativen Code ist besser als über YAML. Docker Compose wird komplex, sobald Sie versuchen, eine beliebige Form von Abstraktion oder Komposition zu erledigen (z. B. die alte eshopOnContainers-App). Darüber hinaus gibt es Umgebungsvariablen-Ersetzungen (und umfasst) und keine Typen oder IntelliSense, und es ist schwer zu begründen, was genau ausgeführt wird. Das Debuggen ist auch schwierig. .NET Aspire erzeugt eine bessere Erfahrung, die einfach zu beginnen ist und auf einen Orchestrator wie Compose mit einer echten Programmiersprache skaliert wird.

Wie fügen Sie Projekte zu .NET Aspire hinzu?

Sie können Ihrer .NET Aspire-Lösung projekte manuell hinzufügen, indem Sie die builder.AddProject("<name>", "<path/to/project.csproj>")-API verwenden.

Wie kann .NET Aspire ohne Ziel-Cloudanbieter-Tool bereitgestellt werden?

.NET Aspire schränkt die Bereitstellung vorhandener Projekte oder Lösungen nicht ein. .NET Aspire macht ein Bereitstellungsmanifest verfügbar, das von Toolautoren verwendet wird, um Artefakte für die Bereitstellung für jeden Cloudanbieter zu erstellen. Leider bieten nicht alle Cloudanbieter Tools für Bereitstellungen basierend auf diesem Manifest an. Das Manifest ist eine einfache JSON-Datei, die die Ressourcen Ihrer App und die Abhängigkeiten zwischen ihnen beschreibt. Das Manifest wird von der Azure Developer CLI zum Bereitstellen in Azure verwendet. Ebenso verwendet Aspir8 das Manifest für die Bereitstellung in Kubernetes. Sie können das Manifest verwenden, um sie für jeden Cloudanbieter bereitzustellen, der die von Ihnen verwendeten Ressourcen unterstützt.

Können .NET Aspire-Apps ohne Azure-Abhängigkeiten erstellt und an anderer Stelle bereitgestellt werden?

Ja, Sie können .NET Aspire-Apps erstellen, ohne azure-proprietäre Abhängigkeiten zu verwenden. Obwohl .NET Aspire eine Erstanbieterlösung für die Bereitstellung in Azure bietet, ist es keine Anforderung. .NET Aspire ist ein cloudeigener Stapel, mit dem Anwendungen erstellt werden können, die überall ausgeführt werden. Alle Azure-spezifischen Angebote werden explizit als solche bezeichnet.

Warum .NET Aspire Service Discovery über Docker Compose mit Kubernetes verwenden?

.NET Aspire Service Discovery-APIs sind eine Abstraktion, die mit verschiedenen Anbietern (wie Kubernetes und Consul) funktioniert. Einer der großen Vorteile ist, dass es lokal funktioniert und von . Nets IConfiguration Abstraktion. Dies bedeutet, dass Sie die Dienstermittlung in Ihrer Compute fabric auf eine Weise implementieren können, die nicht zu Codeänderungen führt. Wenn Sie über mehrere Kubernetes-Cluster oder -Dienste in Azure App Service oder Azure Functions verfügen, müssen Sie Ihren Anwendungscode nicht grundlegend ändern, damit er lokal funktioniert, entweder in einem einzelnen Cluster oder über mehrere Cluster hinweg. Das ist der Vorteil der Abstraktion.

Warum .NET Aspire verwenden, wenn OpenTelemetry in .NET verfügbar ist?

.NET Aspire nimmt eine große Wette auf . Die Integration von NET in OpenTelemetry. Das .NET Aspire-Dashboard ist ein Standard-OTLP-Server, der verschiedene Telemetriedaten visualisiert. Durch die Neigung zu diesen offenen Standards ist es einfach, diese Dinge zu erstellen, ohne die Kompatibilität mit dem breiteren Ökosystem zu unterbrechen.

Warum .NET Aspire verwenden, wenn Grafana, Jaeger und Prometheus mit .NET arbeiten?

.NET Aspire ist kein Ersatz für diese Tools, sondern eine ergänzende Technologie. .NET Aspire ist eine Reihe von Bibliotheken und Tools, die das Erstellen von Anwendungen erleichtern, die feststellbar sind. Weitere Informationen finden Sie im Beispiel Metriken im .NET Aspire-Beispielrepository mit Grafana und Prometheus.

Warum ein weiteres Framework erstellen, wenn vorhandene gut funktionieren?

.NET Aspire ist kein Framework, es ist ein Meinungsstapel. Vielleicht sind die umstrittensten Teile davon die DistributedApplication APIs, die Sie verwenden können, um das Orchestrierungsmodell in jedem zu erstellen. NET-basierte Sprache. Obwohl heute alles möglich ist, ist es nicht einfach. Mit der Unix-Philosophie basiert das gesamte cloudeigene Ökosystem auf der Verbindung verschiedener CNCF-Softwareteile, um einen Stapel zu erstellen. .NET Aspire versucht, dasselbe zu tun, indem sie Erkenntnisse aus dem cloudeigenen Raum verwendet und einige Meinungen auswählt (in der Weise, dass dieselben Bausteine verwendet werden). Eine neue Sache, wie .NET Aspire verschiedene Teile des Stapels erstellt, besteht darin, dass der Zugriff oder die Kompatibilität anderer Anwendungen, Frameworks oder Dienste nicht eingeschränkt wird. Wenn die Leute mehr damit spielen, erkennen sie, wie komponierbar und erweiterbar es ist.

Wie unterscheidet sich .NET Aspire von Microsoft Orleans?

Microsoft Orleans und .NET Aspire sind komplementäre Technologien.

Orleans ist ein verteiltes akteurbasiertes Framework. .NET Aspire ist ein cloudfähiger Stapel zum Erstellen von feststellbaren, produktionsfähigen, verteilten Anwendungen. Es enthält lokale Orchestrierungsfunktionen, um die interne Schleife des Entwicklers und wiederverwendbare Meinungskomponenten für die Integration in häufig verwendete Anwendungsabhängigkeiten zu vereinfachen. Eine Orleans-basierte Lösung verfügt weiterhin über externe Abhängigkeiten wie Datenspeicher und Caches, für die .NET Aspire für Orchestrierungszwecke verwendet werden kann.

Weitere Informationen finden Sie unter Use Orleans with .NET Aspire und das entsprechende Orleans-Abstimmungs-App-Beispiel.

Wie unterscheidet sich .NET Aspire von Dapr?

Dapr und .NET Aspire sind komplementäre Technologien.

Wenn Dapr einige der zugrunde liegenden Cloudplattform abstrahiert, bietet .NET Aspire eine meinungsbasierte Konfiguration um die zugrunde liegenden Cloudtechnologien, ohne sie abstrahieren zu müssen. Ein. NET-basierte Anwendung, die Dapr verwendet, kann .NET Aspire verwenden, um die interne Schleife des lokalen Entwicklers zu koordinieren und die Bereitstellung zu optimieren. .NET Aspire umfasst Erweiterungen, die den Start von Dapr Side-Car-Prozessen während der inneren Schleife unterstützen.

Weitere Informationen finden Sie unter Verwenden von Dapr mit .NET Aspire und der entsprechenden Dapr-Beispiel-App im .NET Aspire-Beispielrepository.

Wie unterscheidet sich .NET Aspire von Project Tye?

Project Tye war ein Experiment, das die Einführung und Orchestrierung von Mikrodiensten und die Unterstützung der Bereitstellung in Orchestratoren wie Kubernetes untersuchte. .NET Aspire ist eine Obermenge von Tye, die die Orchestrierungs- und Bereitstellungsfunktionen zusammen mit meinungsbasierten Komponenten für die Integration allgemeiner cloudneigener Abhängigkeiten umfasst. .NET Aspire kann als die Entwicklung des Project Tye-Experiments betrachtet werden.

Wie beziehen sich .NET Aspire und Azure SDK für .NET?

.NET Aspire bietet Komponenten, die auf dem Azure SDK für .NET-basieren, um allgemeine Funktionen für Speicher verfügbar zu machen (Azure Blob Storage, Azure Storage Queues, und Azure Table Storage), Datenbanken (Azure Cosmos DB und Azure Cosmos DB mit Entity Framework Core), Messaging-und Sicherheits-.

Wie sind .NET Aspire und Kubernetes verwandt?

.NET Aspire erleichtert die Entwicklung verteilter Anwendungen, die in Ihrer lokalen Entwicklungsumgebung als ausführbare Dateien und Container orchestriert werden können. Kubernetes ist eine Technologie, die Container auf mehreren Computern koordiniert und verwaltet. .NET Aspire-Projekte können ein Manifest produzieren, mit dem Toolautoren Artefakte für die Bereitstellung in Kubernetes erstellen können. Im Wesentlichen ist Kubernetes ein Bereitstellungsziel für .NET Aspire-Projekte.

Werden Die Arbeitsdienste in .NET Aspire unterstützt?

Ja, Die Arbeitsdienste werden vollständig unterstützt, und es stehen Dokumente und Beispiele zur Verfügung, die Ihnen bei den ersten Schritten helfen. Arbeitsdienste sind eine hervorragende Möglichkeit zum Ausführen von Hintergrundaufgaben, geplanten Aufgaben oder lang ausgeführten Aufgaben in .NET Aspire. Weitere Informationen finden Sie unter Datenbankmigrationen mit Entity Framework Core-Beispiel-App.

Werden Azure-Funktionen in .NET Aspire unterstützt?

Unterstützt .NET Aspire die lokale Ausführung von Web-Apps auf IIS oder IIS Express?

Nein. .NET Aspire unterstützt das Ausführen von Web-Apps in IIS oder IIS Express nicht.

Unterstützt .NET Aspire die Bereitstellung von Apps in IIS?

Nein. .NET Aspire unterstützt die Bereitstellung von Apps in IIS nicht. Es verhindert jedoch nicht, dass Sie Ihre Apps auf die gleiche Weise wie immer in IIS bereitstellen.

Wie können Sie Integrations- und Service Discovery-Probleme beim Bereitstellen von .NET Aspire-Apps in IIS beheben?

.NET Aspire-Integrationen erfordern eine spezifische Konfiguration, die manuell bereitgestellt werden muss. Das gleiche gilt für Service Discovery, idealerweise sollten Sie eine Bereitstellung in einem anderen Format als IIS durchführen.

Was ist der Zweck des Community Toolkit-Projekts?

Ziel des Projekts ist es, ein zentrales Zuhause für Erweiterungen und Integrationen für .NET Aspirezu sein, um Konsistenz in der Art und Weise zu gewährleisten, wie Integrationen erstellt und verwaltet werden, sowie eine einfachere Auffindbarkeit für Benutzer.

Wie unterscheidet sich das Community Toolkit-Projekt vom offiziellen .NET Aspire-Projekt?

Das .NET Aspire Community Toolkit ist ein communitygesteuertes Projekt, das von der Community verwaltet wird und nicht offiziell vom .NET Aspire-Team unterstützt wird. Das Toolkit ist eine Sammlung von Integrationen und Erweiterungen, die auf dem .NET Aspire-Projekt basieren.

Wie kann ich zum Community Toolkit-Projekt beitragen?

Jeder kann zum .NET Aspire Community Toolkit beitragen und bevor Sie loslegen, lesen Sie unbedingt den Mitwirkenden Leitfaden, um zu erfahren, wie Sie zum Projekt beitragen.

Sollte ich eine neue Integration im Community Toolkit oder dem Repo "dotnet/aspire" vorschlagen?

Wenn Sie eine Idee für eine neue Integration haben, sollten Sie sie im repository .NET Aspire Community Toolkit, anstatt dotnet/aspire, vorschlagen, da das offizielle .NET Aspire-Projekt auf die Kernfunktionalität des .NET Aspire-Projekts konzentriert.

Wenn Sie eine Integration im dotnet/aspire Repository vorgeschlagen haben, können Sie sie weiterhin im Community Toolkit vorschlagen, aber mit dem vorhandenen Problem im dotnet/aspire Repository verknüpfen, um Kontext bereitzustellen.

Wie finde ich Community Toolkit-Integrationen?

Integrationen aus dem .NET Aspire Community Toolkit werden im Dialogfeld Add Aspire Integration in Visual Studio unter dem Namespace CommunityToolkit.Aspire.*angezeigt.

Nächste Schritte

Weitere Informationen zu Netzwerk und Funktionen: