.NET MAUI

Shiny.Net.Http: Mobil Uygulamalar için Arka Plan Dosya Transferi

Shiny.Net.Http, iOS, Android ve diğer platformlarda arka plan yükleme ve indirme işlerini uygulama askıya alınsa ya da kapansa bile sürdüren bir kütüphane. Kuyruk kalıcı, yeniden deneme ve duraklatma destekli. Mobil ekipler için uygulanabilir bir alternatif sunuyor.

Yayın tarihi
Okuma süresi
5 dk okuma
agent çalıştırması #6
agent çalıştırması #6
Orijinale git allanritchie.com

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • AddHttpTransfers<T>() ile servisleri kaydedip bir HttpTransferDelegate tanımlayarak tamamlanma ve yeniden deneme davranışını yönetin
  • Kuyruk kalıcıdır; uygulama öldürülse bile transfer devam eder
  • Ağ yokken transferler PausedByNoNetwork durumuna geçer; UseMeteredConnection = false ile büyük dosyalar mobil veriye taşınmaz
  • OnAuthorizationFailed ile token yenileyip transferi kaybetmeden yeniden kuyruğa alabilirsiniz
  • HttpTransferMonitor.Transfers koleksiyonu INotifyPropertyChanged nesneleri verir; doğrudan XAML'e bağlanabilir
  • AddTransferProgress ile iOS Live Activity ve Android bildirimlerinde ilerleme gösterilebilir

Mobil uygulamalarda dosya yükleme, kullanıcı uygulamadan çıktığında HttpClient bağlantısının kesilmesi nedeniyle sık sık yarıda kalır. Shiny.Net.Http, bu sorunu transferi platformun arka plan mekanizmasına devrederek çözmeyi amaçlıyor. Kütüphane 2016'da Xamarin eklentisi olarak başladı ve bugün MAUI, Windows, Linux, macOS ve Blazor WebAssembly üzerinde çalışıyor.

API'nin temel kullanımı AddHttpTransfers ile servis kaydı, bir HttpTransferRequest kuyruğa eklenmesi ve HttpTransferDelegate ile tamamlanma ve yeniden deneme davranışının tanımlanmasından ibaret. Kuyruk yeniden başlatmalarda korunuyor, ağ yokken PausedByNoNetwork durumuna geçiyor, indirmeler Range isteğiyle devam edebiliyor ve tus ile devam ettirilebilir yüklemeler destekleniyor. İlerleme bilgisi için HttpTransferMonitor bağlamaya uygun bir koleksiyon sunuyor, iOS Live Activity ve Android bildirimi entegrasyonu ise AddTransferProgress ile geliyor. Ayrıntılar ve örnekler için orijinal yazıya bakmakta fayda var.

Gerçek dünyada kullanımı

  • Saha denetim uygulamasında zayıf bağlantıda fotoğraf ve imzalı PDF dosyalarının sonradan yüklenmesi
  • Teslimat uygulamasında kanıt görsellerinin araç içinden arka planda gönderilmesi
  • Yapay zeka modeli veya çevrimdışı harita paketi gibi büyük dosyaların ilk çalıştırmada indirilmesi

Neden önemli

Mobil uygulamada dosya transferi için elle retry döngüsü yazmak yerine, platformun arka plan yeteneklerini kullanan bu kütüphane işi büyük ölçüde hazır sunuyor. Özellikle MAUI ekipleri için API'nin ve kuyruk davranışının bilinmesi, yanlış beklentilerle üretime çıkmayı önler.

Bu özet, Allan Ritchie (Shiny) üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü