Uso di WinHTTP come assembly side-by-side

In Windows Server 2003 WinHTTP viene implementato come assembly side-by-side e deve essere collegato a come tale. Si noti che questo non si applica a Windows Vista e versioni successive.

Assembly side-by-side

A partire da Microsoft Windows XP, è stato fornito un meccanismo di assembly side-by-side per controllare il collegamento in fase di esecuzione per evitare conflitti di controllo delle versioni della libreria di collegamento dinamico (DLL). Per informazioni sugli assembly side-by-side, vedere Informazioni sulle applicazioni isolate e sugli assembly side-by-side.

Per usare questo meccanismo per collegarsi a WinHTTP versione 5.1 in Windows Server 2003, un'applicazione deve incorporare un manifesto che specifica WinHTTP come assembly dipendente. Per altre informazioni su come eseguire questa operazione, vedere Uso di assembly side-by-side .

Un manifesto dell'applicazione WinHTTP di esempio

Il manifesto di esempio seguente illustra un manifesto dell'applicazione che può essere usato per il collegamento a WinHTTP.

Tutti gli attributi tranne "type" dell'assemblyIdentity<><> devono essere modificati in base alle esigenze dell'applicazione specifica. Lo stesso vale per il contenuto dell'elemento "<description>".

Assicurarsi inoltre che l'attributo "processorArchitecture" di "<dependentAssembly><assemblyIdentity>" corrisponda all'attributo "processorArchitecture" dell'assembly><AssemblyIdentity<>. Di seguito, ad esempio, entrambi sono impostati su "x86".

Tutti i valori non specifici dell'applicazione devono assumere i moduli indicati di seguito.

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