Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 16422|Отговор: 0

[Комуникация] .NET основни доставчици на файлове

[Копирай линк]
Публикувано в 28.01.2019 г. 15:13:10 ч. | | |
Абстракция на доставчик на файлове
Доставчиците на файлове са слой на абстракция върху файловата система. Основният ѝ интерфейс е IFileProvider. IFileProvider предоставя методи за получаване на файлова информация (IFileInfo), информация за директорията (IDirectoryContents) и задаване на известия за промяна (чрез използване на IChangeToken).

Интерфейсът IFileInfo предоставя методи и свойства за обработка на отделни файлове и директории. Той има две булеви свойства – Exists и IsDirectory, и две свойства за два профила – Име и Дължина (на байт), и също така включва свойство LastModified дата (LastModified). Можете също да прочетете съдържанието на файла чрез метода CreateReadStream.

Реализация на доставчик на файлове
Има три реализации на IFileProvider, от които да избирате: физична, вградена и композитна. Физическият тип се използва за достъп до файлове в реалната система. Embedded се използва за достъп до файлове, вградени в асемблер. Съставният тип е комбинация от първите два метода.

PhysicalFileProvider
PhysicalFileProvider предоставя достъп до физическата файлова система. Той капсулира типа System.IO.File, който обхваща всички пътища към директория и нейните поддиректории. Този тип обхват ограничава достъпа до директория и нейните поддиректории, предотвратявайки операции извън обхвата да достигнат до файловата система. При създаване на такъв доставчик трябва да му предоставите път към директорията, който сървърът може да използва като основен път за всички заявки, направени от този доставчик (което ограничава заявките за достъп извън пътя). В ASP.NET Core приложение можете директно да инстанцирате PhysicalFileProvider доставчик или да заявите IFileProvider интерфейс чрез инжекция на constructor зависимости в контролера и услугата. Последното води до решения, които често са по-гъвкави и по-лесни за тестване.

Създаването на PhysicalFileProvider всъщност е много лесно – просто го реализирайте и му подадете по физически път. След това можете да преминете през съдържанието през неговата директория или да предоставите подпътища, за да получите информация за конкретен файл.
Модифицирайте метода ConfigureServices() на класа Startup, за да регистрирате услугите, необходими за достъп до локални файлове, и след това ги добавете към междинния софтуер чрез инжекция на конструктор в междинния софтуер, така че да можете да контролирате достъпния път на файловете на едно място (т.е. когато приложението стартира).






Предишен:Уникални ключови ограничения за множество колони в Entity Framework (Unique Key constr ...
Следващ:Общи примери за C# са обяснени подробно
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com