Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 16422|Svar: 0

[Kommunikation] .NET Core Filudbydere

[Kopier link]
Opslået på 28/01/2019 15.13.10 | | |
File Provider-abstraktion
Filudbydere er et lag af abstraktion oven på filsystemet. Dets hovedinterface er IFileProvider. IFileProvider eksponerer metoder til at indhente filinformation (IFileInfo), mappeinformation (IDirectoryContents) og indstille ændringsnotifikationer (ved brug af en IChangeToken).

IFileInfo-grænsefladen giver metoder og egenskaber til at manipulere individuelle filer og mapper. Den har to booleske egenskaber, Exists og IsDirectory, samt to egenskaber for to profiler, Name og Length (per byte), og inkluderer også en LastModified-dato-egenskab. Du kan også læse filens indhold via CreateReadStream-metoden.

Implementering af filudbyder
Der er tre implementeringer af IFileProvider at vælge imellem: fysisk, indlejret og sammensat. Den fysiske type bruges til at tilgå filer i selve systemet. Embedded bruges til at tilgå filer, der er indlejret i en assembly. Den sammensatte type er en kombination af de to første metoder.

PhysicalFileProvider
PhysicalFileProvider giver adgang til det fysiske filsystem. Den indkapsler System.IO.File-typen, som dækker alle stier til en mappe og dens undermapper. Denne type scope begrænser adgangen til en mappe og dens undermapper, hvilket forhindrer operationer uden for scope i at få adgang til filsystemet. Når man instansierer en sådan provider, skal man give den en mappesti, som serveren kan bruge som basissti for alle forespørgsler foretaget af denne provider (hvilket begrænser adgangsanmodninger uden for stien). I en ASP.NET Core-applikation kan du instansiere en PhysicalFileProvider-udbyder direkte, eller du kan anmode om et IFileProvider-interface ved at bruge konstruktørafhængighedsinjektion i controlleren og tjenesten. Sidstnævnte resulterer i løsninger, der ofte er mere fleksible og lettere at teste.

At oprette en PhysicalFileProvider er faktisk meget simpelt, bare materialiser den og send den en fysisk sti. Du kan derefter gennemgå indholdet gennem dets mappe eller angive understier for at hente information om en bestemt fil.
Ændr ConfigureServices()-metoden i Startup-klassen for at registrere de tjenester, der er nødvendige for at tilgå lokale filer, og tilføj dem derefter til middleware via constructor injection i middleware, så du kan kontrollere adgangsstien for filerne ét sted (dvs. når applikationen starter)






Tidligere:Unik nøgle-begrænsninger for flere kolonner i Entity Framework (Unik nøgle konststr ...
Næste:C# generiske eksempler forklares i detaljer
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com