Aracılığıyla paylaş


Zaman Uyumsuz İşlem

Bir uygulamanın İnternet kaynağına erişme süresi, kullanılan bağlantı, kaynağın bulunduğu sunucu ve kaynağa erişmeye çalışan kullanıcı sayısı gibi bir dizi faktöre bağlıdır. Birden çok kaynak indiren veya birden çok görevi (bir veya daha fazla indirme dahil) işleyen uygulamalar için, bir sonraki göreve geçmeden önce her indirmenin tamamlanmasını beklemek son derece verimsiz olabilir. Bir uygulamanın beklemesi gereken süreyi azaltmak için WinINet işlevlerinin çoğu zaman uyumsuz olarak çalışabilir.

Zaman uyumsuz modda bir uygulama, bağlam değerini parametrelerinden biri olarak içeren herhangi bir işlevi yürütebilir ve uygulama işlevin görevini tamamlanmasını beklerken diğer komutları veya işlevleri yürütmeye devam edebilir. Görev tamamlanırken, uygulama tarafından sağlanan bir durum geri çağırma işlevine görevin ilerleme durumu ve ne zaman tamamlandığı bildirilir. Şu anda durum geri çağırma işlevi diğer işlevleri çağırabilir veya görevin tamamlanmasına bağımlı olan diğer gerekli görevleri gerçekleştirebilir.

WinINet'i zaman uyumsuz olarak çağırdığınızda geri çağırma iş parçacığı tanımlaması yoktur: bir çağrı bir iş parçacığından başlatılabilir, ancak diğer tüm iş parçacıkları geri çağırmayı alabilir.

Fayda -ları

Zaman uyumsuz olarak çalışmanın çeşitli avantajları vardır. Mesela:

  • Aynı anda birden çok İnternet kaynağı indirilir.

    Aynı anda birden çok İnternet kaynağına bağlanabilir ve kullanılabilir hale geldikçe bunları indirebilirsiniz.

  • Uygulamanızın performansını artırma.

    WinINet işlevlerini kullanan bir uygulamanın istek tamamlanana kadar zaman uyumsuz olarak beklemesi gerekmez, bu nedenle uygulamanın isteğe bağımlı olmayan diğer görevleri yerine getirerek uygulamanın genel performansını geliştirmesi gerekir.

  • İndirme işleminin ilerleme durumunu izleyin.

    Durum geri çağırma işlevi, bir isteği işlerken bildirimler alır. Gerekirse, uygulamanız kullanıcıyı işlemin ilerleme durumu hakkında bilgilendirmek veya tamamlanması çok uzun süren istekleri kesmek için bu durum geri çağırma işlevi tarafından sağlanan bilgileri kullanabilir.

Senaryo

Uygulamanızın Downfall Coffee & Tea ve Fourth Coffee sitelerinden kahve fiyatlarını indirmesi ve fiyatları karşılaştırması gerektiğini düşünelim. Dördüncü Kahve sitesi genellikle daha yavaş yanıt süresine sahiptir, bu nedenle uygulamanızın önce Downfall Coffee & Tea'dan bilgileri indirmesi gerekir.

Uygulamanın iki sürümü geliştirilmiştir. Biri zaman uyumlu bir şekilde çalışır, önce Downfall Coffee & Tea sitesinden ve ardından Fourth Coffee sitesinden fiyatları indirir. İkincisi zaman uyumsuz olarak çalışır ve her iki siteye de istek gönderir ve kullanılabilir olduklarında fiyatları indirir.

Aşağıdaki tabloda, Fourth Coffee sitesinin belirli bir günde daha hızlı olması durumunda neler olacağı gösterilmektedir.

Olay Zaman uyumlu sürüm Zaman uyumsuz sürüm
Başlamak Downfall Coffee & Tea'ya istek gönderin Downfall Coffee & Tea ve Fourth Coffee'ye istek gönderin
Zaman uyumsuz sürümden Fourth Coffee isteği tamamlandı Bekleme Fourth Coffee'den fiyatları indirin
Downfall Coffee & Çay talebi tamamlandı Downfall Coffee & Tea'dan fiyatları indirin Downfall Coffee & Tea'dan fiyatları indirin
Downfall Coffee & Tea fiyatları indirildikten sonra Fourth Coffee'ye istek gönder Fiyatları karşılaştır
Zaman uyumsuz sürümün karşılaştırması tamamlandı Bekleme İşlem tamamlandı
Zaman uyumlu sürümden Fourth Coffee isteği tamamlandı Fourth Coffee'den fiyatları indirin Yok
Fourth Coffee'nin fiyatları indirildikten sonra Fiyatları karşılaştır Yok
Zaman uyumlu sürümün karşılaştırması tamamlandı İşlem tamamlandı Yok

 

Başka bir örnek de Microsoft Internet Explorer gibi bir web tarayıcısı olabilir. Tarayıcı bir sayfayı indirdiğinde genellikle görüntüler ve ses dosyaları gibi diğer kaynakları indirmesi gerekir. Zaman uyumsuz modda, sayfa ve ilişkili kaynakları aynı anda istenebilir ve sayfayı ve her kaynağı birer birer istemek ve indirmek yerine kullanılabilir duruma geldikçe indirilebilir.

Aşağıdakiler ilgili bağlantılardır.

Öğreticiler

  • Durum Geri Çağırma İşlevleri oluşturma

Zaman uyumsuz işlemi ayarlamak için gereken işlevler

Zaman uyumsuz olarak kullanılabilen işlevler

  • FtpCreateDirectory
  • FtpDeleteFile
  • FtpFindFirstFile
  • FtpGetCurrentDirectory
  • FtpGetFile
  • FtpOpenFile
  • FtpPutFile
  • FtpRemoveDirectory
  • FtpRenameFile
  • FtpSetCurrentDirectory
  • GopherFindFirstFile
  • GopherOpenFile
  • httpendRequest
  • httpopenRequest
  • httpsendRequestEx
  • InternetConnect
  • InternetOpenUrl
  • InternetReadFileEx

Not

ftpCreateDirectory, FtpRemoveDirectory, FtpSetCurrentDirectory, FtpGetCurrentDirectory, FtpDeleteFileve FtpRenameFile işlevleri, InternetConnect işlevine yapılan çağrıda sağlanan bağlam değerini kullanır.

 

Not

WinINet, sunucu uygulamalarını desteklemez. Ayrıca, bir hizmetten kullanılmamalıdır. Sunucu uygulamaları veya hizmetleri için Microsoft Windows HTTP Services (WinHTTP)kullanın.