Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 16422|Yanıt: 0

[İletişim] .NET Çekirdek Dosya Sağlayıcıları

[Bağlantıyı kopyala]
Yayınlandı 28.01.2019 15:13:10 | | |
Dosya Sağlayıcı soyutlama
Dosya Sağlayıcıları, dosya sisteminin üzerinde bir soyutlama katmanıdır. Ana arayüzü IFileProvider'dir. IFileProvider, dosya bilgisi (IFileInfo), dizin bilgisi (IDirectoryContents) ve değişiklik bildirimleri ayarlama (IChangeToken kullanarak) için yöntemler sunar.

IFileInfo arayüzü, bireysel dosya ve dizinleri manipüle etmek için yöntemler ve özellikler sağlar. İki boolean özelliği vardır: Exists ve IsDirectory, ayrıca iki profil için iki özellik, Name ve Length (bayt başı), ayrıca LastModified tarih özelliği de içerir. Dosya içeriğini CreateReadStream yöntemiyle de okuyabilirsiniz.

Dosya Sağlayıcı uygulaması
IFileProvider'ın seçebileceğiniz üç uygulaması vardır: fiziksel, gömülü ve kompozit. Fiziksel tip, gerçek sistemdeki dosyalara erişmek için kullanılır. Gömülü, bir montajda gömülü dosyalara erişmek için kullanılır. Bileşik tipi, ilk iki yöntemin birleşimidir.

PhysicalFileProvider
PhysicalFileProvider, fiziksel dosya sistemine erişim sağlar. System.IO.File tipini kapsüller; bu tür, bir dizine ve alt dizinlerine giden tüm yolları kapsama alır. Bu tür kapsam, bir dizine ve alt dizinlerine erişimi sınırlar, kapsam dışı işlemlerin dosya sistemine erişmesini engeller. Böyle bir sağlayıcı oluştururken, sunucunun bu sağlayıcının yaptığı tüm talepler için temel yol olarak kullanabileceği bir dizin yolu sağlamanız gerekir (bu da yol dışındaki erişim taleplerini sınırlar). ASP.NET Core uygulamasında doğrudan bir PhysicalFileProvider sağlayıcısı oluşturabilir veya denetleyici ve hizmette üretici bağımlılığı enjeksiyonu kullanarak IFileProvider arayüzü talep edebilirsiniz. İkincisi, genellikle daha esnek ve test edilmesi daha kolay çözümler ortaya çıkarır.

Fiziksel Dosya Sağlayıcısı oluşturmak aslında çok basittir, sadece bunu gerçekleştirin ve fiziksel bir yol verin. Daha sonra içeriği dizininde gezebilir veya belirli bir dosya hakkında bilgi almak için alt yollar sağlayabilirsiniz.
Startup sınıfının ConfigureServices() yöntemini yerel dosyalara erişmek için gereken servisleri kaydedecek şekilde değiştirin ve ardından bunları middleware'de constructor injection ile middleware'a ekleyin, böylece dosyaların erişim yolunu tek bir yerde kontrol edebilirsiniz (örneğin uygulama başladığında)






Önceki:Entity Framework'te birden fazla sütun için benzersiz anahtar kısıtlamaları (Unique Key constr ...
Önümüzdeki:C# genel örnekleri ayrıntılı şekilde açıklanır
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com