Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 16422|Odpoveď: 0

[Komunikácia] Poskytovatelia súborov .NET Core

[Kopírovať odkaz]
Zverejnené 28. 1. 2019 15:13:10 | | |
Abstrakcia poskytovateľa súborov
Poskytovatelia súborov sú vrstvou abstrakcie nad súborovým systémom. Jeho hlavné rozhranie je IFileProvider. IFileProvider poskytuje metódy získavania informácií o súboroch (IFileInfo), adresárov (IDirectoryContents) a nastavovania notifikácií o zmenách (pomocou IChangeTokenu).

Rozhranie IFileInfo poskytuje metódy a vlastnosti na manipuláciu s jednotlivými súbormi a adresármi. Má dve booleovské vlastnosti, Exists a IsDirectory, a dve vlastnosti pre dva profily, Name a Length (per byte), a obsahuje aj vlastnosť LastModified date. Obsah súboru môžete čítať aj metódou CreateReadStream.

Implementácia poskytovateľa súborov
Existujú tri implementácie IFileProvider, z ktorých si môžete vybrať: fyzická, zabudovaná a kompozitná. Fyzický typ sa používa na prístup k súborom priamo v systéme. Embedded sa používa na prístup k súborom vloženým v zostave. Zložený typ je kombináciou prvých dvoch metód.

PhysicalFileProvider
PhysicalFileProvider poskytuje prístup k fyzickému súborovému systému. Zapuzdrí typ System.IO.File, ktorý pokrýva všetky cesty k adresáru a jeho podadresárom. Tento typ rozsahu obmedzuje prístup k adresáru a jeho podadresárom, čím zabraňuje operáciám mimo rozsahu prístupu k súborovému systému. Pri inštancovaní takéhoto poskytovateľa mu musíte poskytnúť adresárovú cestu, ktorú server môže použiť ako základnú cestu pre všetky požiadavky poskytované týmto poskytovateľom (čo obmedzuje prístupové požiadavky mimo cesty). V ASP.NET Core aplikácii môžete priamo inštancionovať poskytovateľa PhysicalFileProvider, alebo si môžete vyžiadať rozhranie IFileProvider použitím injekcie závislostí konštruktora v kontroléri a službe. To vedie k riešeniam, ktoré sú často flexibilnejšie a ľahšie testovateľné.

Vytvorenie PhysicalFileProvider je v skutočnosti veľmi jednoduché, stačí ho materializovať a poslať mu fyzickú cestu. Potom môžete obsah prechádzať jeho adresárom alebo poskytnúť podcesty, aby ste získali informácie o konkrétnom súbore.
Upravte metódu ConfigureServices() triedy Startup tak, aby ste registrovali služby potrebné na prístup k lokálnym súborom a potom ich pridajte do middleware cez injekciu konštruktorov v middleware, aby ste mohli kontrolovať prístupovú cestu k súborom na jednom mieste (t. j. pri spustení aplikácie)






Predchádzajúci:Jedinečné kľúčové obmedzenia pre viacero stĺpcov v Entity Framework (Unikátny kľúč constr ...
Budúci:Generické príklady v C# sú podrobne vysvetlené
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com