Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 16422|Răspunde: 0

[Comunicare] Furnizori de fișiere .NET Core

[Copiază linkul]
Postat pe 28.01.2019 15:13:10 | | |
Abstracția furnizorului de fișiere
Furnizorii de fișiere sunt un strat de abstractizare deasupra sistemului de fișiere. Interfața sa principală este IFileProvider. IFileProvider expune metode pentru obținerea informațiilor despre fișiere (IFileInfo), informații din director (IDirectoryContents) și setarea notificărilor de modificare (folosind un IChangeToken).

Interfața IFileInfo oferă metode și proprietăți pentru manipularea fișierelor și directoarelor individuale. Are două proprietăți booleene, Exists și IsDirectory, și două proprietăți pentru două profiluri, Nume și Lungime (pe octet), și include, de asemenea, o proprietate LastModified date. De asemenea, poți citi conținutul fișierului prin metoda CreateReadStream.

Implementarea furnizorului de fișiere
Există trei implementări ale IFileProvider din care poți alege: fizică, încorporată și compozită. Tipul fizic este folosit pentru a accesa fișierele din sistemul propriu-zis. Embedded este folosit pentru a accesa fișiere încorporate într-un assembly. Tipul compus este o combinație a primelor două metode.

PhysicalFileProvider
PhysicalFileProvider oferă acces la sistemul fizic de fișiere. Acesta cuprinde tipul de fișier System.IO., care se extinde către toate căile către un director și subdirectoarele acestuia. Acest tip de domeniu restricționează accesul la un director și subdirectoarele sale, împiedicând operațiunile din afara domeniului să acceseze sistemul de fișiere. Când instanțiezi un astfel de furnizor, trebuie să-i oferi o cale de director pe care serverul să o poată folosi ca cale de bază pentru toate cererile făcute de acest furnizor (ceea ce restricționează cererile de acces în afara traseului). Într-o aplicație ASP.NET Core, poți instanța direct un furnizor PhysicalFileProvider sau poți solicita o interfață IFileProvider folosind injectarea dependenței constructorului în controler și serviciu. Aceasta din urmă duce la soluții adesea mai flexibile și mai ușor de testat.

Crearea unui PhysicalFileProvider este de fapt foarte simplă, doar materializează-l și transmite-i o cale fizică. Poți apoi parcurge conținutul prin directorul său sau poți oferi subcăi pentru a obține informații despre un fișier specific.
Modifică metoda ConfigureServices() a clasei Startup pentru a înregistra serviciile necesare accesării fișierelor locale, apoi adaugă-le în middleware prin injectarea constructorului în middleware, astfel încât să poți controla calea de acces a fișierelor într-un singur loc (adică când aplicația pornește)






Precedent:Constrângeri de chei unice pentru mai multe coloane în cadrul entității (cheia unică constr ...
Următor:Exemplele generice în C# sunt explicate în detaliu
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com