WinInet bir hizmette veya IIS uygulamasında desteklenmez

Uyarı

Kullanımdan kaldırılan, destek dışı Internet Explorer 11 masaüstü uygulaması, Windows 10'un belirli sürümlerinde Microsoft Edge güncelleştirmesi aracılığıyla kalıcı olarak devre dışı bırakılmıştır. Daha fazla bilgi için bkz. Internet Explorer 11 masaüstü uygulamasının kullanımdan kaldırılması hakkında SSS.

Microsoft Win32 İnternet İşlevleri (WinInet.dll'den dışarı aktarılan) bir hizmetten veya internet bilgi sunucusu (IIS) uygulamasından (aynı zamanda bir hizmet) çalıştırıldığında desteklenmez. Bu makalede bir hizmette veya IIS uygulamalarında WinInet.dll kullanımı ele alınmaktadır.

Orijinal ürün sürümü: Internet Explorer
Özgün KB numarası: 238425

Ek Bilgi

IIS bir hizmet olduğundan, WinInet'i bir Internet Server Uygulama Programı Arabirimi (ISAPI) uzantısında veya Active Server Pages (ASP) tarafından kullanılan COM DLL--ActiveX DLL'sinde WinInet'i bir hizmette çalıştırmayla aynı sorun kümesine sahip olursunuz. WinInet'i bir IIS uygulamasında çalıştırmanın da benzersiz bir sorun kümesi vardır.

WinInet'i bir hizmette çalıştırmayla ilgili sorun, WinInet'in SSL bilgileri, proxy bilgileri ve daha fazlası için kayıt defterindeki ayarları kullanmasıdır. Hizmetler kayıt defteri kovanını HKEY_CURRENT_USER yüklemediğinden bu bilgiler kullanılamaz.

Uyarı

Microsoft, Sistem Hizmeti bağlamında WinInet API'lerinin kullanılmasını desteklemez.

WinInet API'leri, Internet Explorer 5.0 yüklü ssl üzerinden hizmetten kullanıldığında erişim ihlallerini bildirir.

Sunucu ortamında WinInet kullanmaya özgü sınırlamaları anlamak için WinInet'in geçmişini anlamak gerekir. WinInet, Internet Explorer tarafından kullanılmak üzere geliştirilmiştir. Aslında, WinInet'in sonraki sürümlerini kullanmak için Internet Explorer'ın en düşük yüklemesini yüklemeniz gerekir. WinInet ayrıca, İnternet (veya intranet) üzerindeki kaynaklara erişmek isteyen diğer istemci uygulamaları tarafından kullanılmak üzere API'leri kullanıma sunar. DLL için uygun kullanımı anlamak için WinInet'in geliştirildiği ve test edildiği ortamı tanımak önemlidir. WinInet, istemci ortamında kullanılmak üzere geliştirilmiştir. ISAPI DLL'sinde çalışırken hala bir istemci gibi davransa da, bu durumda bir sunucu ortamında çalışır.

İstemci Ortamı: Internet Explorer çalıştıran bir kişi

  • İstek sayısı nispeten düşük
  • Görece art arda yapılan istekler
  • Konak uygulama ömrü kısadır (tarayıcı oturumunun uzunluğu)

Sunucu Ortamı: Bir Web sunucusu (örneğin https://www.microsoft.com)

  • Saniye başına yüksek istek sayısı
  • Eşzamanlı olarak istekte bulunan birden çok iş parçacığı
  • Haftalar veya aylar boyunca çalıştırılmalıdır

Tercih edilen çözüm, hizmet ortamında çalışacak şekilde tasarlanmış winhttp kullanmaktır ve sunucu tarafı BIR HTTP yığını olduğundan, RFC 2616 tarafından uygulanan iki bağlantı sınırına bağlı değildir ve istemci tarafı HTTP yığınları. Bu API kümesi, Kullanımı WinInet'e benzer, bu nedenle WinInet'e aşina olanlar kolayca uyum sağlayabilecektir.

Bir diğer çözüm de yuvaları doğrudan Platform SDK'sı kullanarak SSL üzerinden WinSock'un nasıl kullanılacağını gösteren bir örnek içerir. SDK klasöründe bir örnek \Microsoft Platform SDK\Samples\Winbase\Security\Ssl bulacaksınız.

Sunucu ortamında WinInet kullanırken dikkat edilmesi gereken bir diğer sorun da Internet Explorer tarafından uygulanan iki bağlantı sınırıdır.

WinInet'i bir hizmette ve sunucu ortamında kullanmak mümkün olsa da, Microsoft tarafından önerilmez ve desteklenmez. WinInet bu yapılandırmada test edilmedi ve sorunlar var.