Partilhar via


Usando WinHTTP como uma assemblagem paralela

No Windows Server 2003, o WinHTTP é implementado como um componente paralelo e deve ser associado como tal. Observe que isso não se aplica ao Windows Vista e posterior.

Montagens lado a lado

A partir do Microsoft Windows XP, um mecanismo de assemblies paralelas foi fornecido para controlar a ligação dinâmica em tempo de execução e evitar conflitos de versão de biblioteca de ligação dinâmica (DLL). Para obter informações sobre assemblies lado a lado, consulte Sobre aplicativos isolados e assemblies lado a lado.

Para usar esse mecanismo para vincular ao WinHTTP versão 5.1 no Windows Server 2003, uma aplicação deve incorporar um manifesto que especifica WinHTTP como um assembly dependente. Consulte Usando conjuntos lado-a-lado para obter mais informações sobre como o fazer.

Um exemplo de manifesto do aplicativo WinHTTP

O manifesto de exemplo abaixo ilustra um manifesto de aplicativo que pode ser usado para vincular ao WinHTTP.

Todos os atributos, exceto "type" do "<assembly><assemblyIdentity>" devem ser modificados conforme apropriado para a sua aplicação específica. O mesmo vale para o conteúdo do elemento "<descrição>".

Além disso, certifique-se de que o atributo "processorArchitecture" de "<dependentAssembly><assemblyIdentity>" corresponda ao atributo "processorArchitecture" de "<assembly><assemblyIdentity>". Abaixo, por exemplo, ambos estão definidos como "x86".

Todos os valores não específicos da sua candidatura devem assumir as formas indicadas abaixo.

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