Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 16422|Antwort: 0

[Kommunikation] .NET Core-Dateianbieter

[Link kopieren]
Veröffentlicht am 28.01.2019 15:13:10 | | |
Dateianbieter-Abstraktion
File Providers sind eine Abstraktionsschicht auf dem Dateisystem. Seine Hauptschnittstelle ist IFileProvider. IFileProvider stellt Methoden zur Verfügung, um Dateiinformationen (IFileInfo), Verzeichnisinformationen (IDirectoryContents) zu erhalten und Änderungsbenachrichtigungen einzustellen (mittels eines IChangeToken).

Die IFileInfo-Schnittstelle bietet Methoden und Eigenschaften zur Bearbeitung einzelner Dateien und Verzeichnisse. Es besitzt zwei boolesche Eigenschaften, Exists und IsDirectory, sowie zwei Eigenschaften für zwei Profile, Name und Length (pro Byte), und enthält außerdem eine LastModified-Date-Eigenschaft. Sie können den Dateiinhalt auch über die Methode CreateReadStream lesen.

Implementierung des Dateianbieters
Es gibt drei Implementierungen des IFileProvider zur Auswahl: physisch, eingebettet und zusammengesetzt. Der physische Typ wird verwendet, um auf Dateien im eigentlichen System zuzugreifen. Eingebettet wird verwendet, um auf Dateien zuzugreifen, die in einer Assembler eingebettet sind. Der zusammengesetzte Typ ist eine Kombination der ersten beiden Methoden.

PhysicalFileProvider
PhysicalFileProvider bietet Zugriff auf das physische Dateisystem. Sie kapselt den System.IO.Dateityp, der alle Pfade zu einem Verzeichnis und dessen Unterverzeichnisse umfasst. Dieser Umfang schränkt den Zugriff auf ein Verzeichnis und dessen Unterverzeichnisse ein und verhindert, dass Operationen außerhalb des Umfangs auf das Dateisystem zugreifen. Beim Instanziieren eines solchen Providers müssen Sie ihm einen Verzeichnispfad bereitstellen, den der Server als Basispfad für alle Anfragen dieses Providers verwenden kann (was Zugriffsanfragen außerhalb des Pfades einschränkt). In einer ASP.NET Core-Anwendung kann man direkt einen PhysicalFileProvider-Anbieter instanzieren oder eine IFileProvider-Schnittstelle anfordern, indem man Konstruktor-Abhängigkeitsinjektionen im Controller und Service verwendet. Letzteres führt zu Lösungen, die oft flexibler und leichter zu testen sind.

Einen PhysicalFileProvider zu erstellen ist tatsächlich sehr einfach: Einfach materialisieren und einen physischen Pfad übergeben. Du kannst dann den Inhalt durch das Verzeichnis durchlaufen oder Unterpfade bereitstellen, um Informationen zu einer bestimmten Datei zu erhalten.
Ändern Sie die ConfigureServices()-Methode der Startup-Klasse, um die Dienste zu registrieren, die für den Zugriff auf lokale Dateien benötigt werden, und fügen Sie diese dann durch Constructor-Injection in der Middleware zur Middleware hinzu, sodass Sie den Zugriffspfad der Dateien an einem Ort (also beim Start der Anwendung) kontrollieren können






Vorhergehend:Eindeutige Schlüssel-Einschränkungen für mehrere Spalten im Entitätsrahmen (eindeutige Schlüssel-Konstruktion ...
Nächster:C# generische Beispiele werden ausführlich erklärt
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com