Udostępnij przez


Używanie winHTTP jako zestawu równoległego

W systemie Windows Server 2003 winHTTP jest implementowany jako zestaw równoległy i musi być połączony jako taki. Należy pamiętać, że nie dotyczy to systemu Windows Vista i nowszych.

Zestawy równoległe

Począwszy od systemu Microsoft Windows XP, mechanizm zestawów równoległych został udostępniony w celu kontrolowania łączenia w czasie wykonywania w celu uniknięcia konfliktów wersji biblioteki dynamic-link-library (DLL). Aby uzyskać informacje o zespoleniach równoległych, zobacz O odizolowanych aplikacjach i zespoleniach równoległych.

Aby użyć tego mechanizmu, aby połączyć się z winHTTP w wersji 5.1 w systemie Windows Server 2003, aplikacja musi dołączyć manifest określający WinHTTP jako zestaw zależny. Aby uzyskać więcej informacji o tym, jak to zrobić, zobacz "Używanie zestawów równoległych" ().

Przykładowy manifest aplikacji WinHTTP

Przykładowy manifest poniżej ilustruje manifest aplikacji, który może służyć do łączenia z winHTTP.

Wszystkie atrybuty z wyjątkiem "type" w "<zestawie><assemblyIdentity>" muszą być zmodyfikowane odpowiednio dla Twojej konkretnej aplikacji. To samo dotyczy zawartości elementu "<description>".

Ponadto upewnij się, że atrybut "processorArchitecture" w "<dependentAssembly><assemblyIdentity>" pasuje do atrybutu "processorArchitecture" w zestawie "<assembly><assemblyIdentity>". Poniżej na przykład oba są ustawione na wartość "x86".

Wszystkie wartości, które nie są specyficzne dla Twojej aplikacji, powinny przyjmować poniższe formaty.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity
                    version="1.0.0.0"
                    processorArchitecture="x86"
                    name="Microsoft.Windows.Sample"
                    type="win32" />
  <description>Sample WinHttp Application</description>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity 
                    type="win32" 
                    name="Microsoft.Windows.WinHTTP" 
                    version="5.1.0.0"
                    processorArchitecture="x86" 
                    publicKeyToken="6595b64144ccf1df"
                    language="*" />
    </dependentAssembly>
  </dependency>
</assembly>