Поделиться через


Использование WinHTTP в качестве параллельной сборки

В Windows Server 2003 WinHTTP реализуется как параллельная сборка и должна быть связана как таковая. Обратите внимание, что это не относится к Windows Vista и более поздним версиям.

Параллельные сборки

Начиная с Microsoft Windows XP, был предоставлен механизм параллельных сборок для управления связыванием во время выполнения, чтобы избежать конфликтов управления версиями библиотеки динамической компоновки (DLL). Сведения о параллельных сборках см. в разделе Сведения об изолированных приложениях и параллельных сборках.

Чтобы использовать этот механизм для связи с WinHTTP версии 5.1 в Windows Server 2003, приложение должно включить манифест, указывающий WinHTTP в качестве зависимой сборки. Дополнительные сведения о том, как это сделать, см. в разделе Использование параллельных сборок .

Пример манифеста приложения WinHTTP

В примере манифеста ниже показан манифест приложения, который можно использовать для связывания с WinHTTP.

Все атрибуты, кроме "type"< assemblyIdentity><>, должны быть изменены в соответствии с конкретным приложением. То же самое относится и к содержимому элемента description<>.

Кроме того, убедитесь, что атрибут processorArchitecture объекта dependentAssembly assemblyIdentity> соответствует атрибуту processorArchitecture объекта assemblyIdentity>><<.<>< Ниже, например, для обоих задано значение "x86".

Все значения, не относящиеся к вашему приложению, должны принимать формы, показанные ниже.

<?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>