Supportare IE11 in un'applicazione ASP.NET

Con il rilascio di Windows 8.1, sarà rilasciato sul mercato anche IE 11. Questa nuova versione di Internet Explorer presenta diverse novità, che vanno verso la direzione di un supporto più esteso agli standard web. Nell'ottica di migliorare il riconoscimento da parte dei framework che fanno browser detection, Microsoft ha recentemente cambiato lo user agent, che ora assomiglia a quello di FireFox:

Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko

Purtroppo, questo cambio di user agent comporta un differente riconoscimento da parte di ASP.NET del browser, che si traduce nell'impossibilità di far funzionare alcune feature, come quelle legate al JavaScript delle Web Forms, perché il browser non viene riconosciuto come IE.

Il .NET Framework 4.5.1, atteso con Visual Studio 2013 per la data di rilascio di Windows 8.1, include nuove browser definition che riconoscono in maniera diretta IE 11. Essendo una patch sulla versione 4.5, una volta applicata sui server, il browser sarà riconosciuto automaticamente anche dalle applicazioni che dovessero utilizzare la versione 4.

Tuttavia, se state utilizzando una versione precedente o non avete controllo diretto del server, potete creare un nuovo file all'interno della directory App_Browsers, posta sotto la root del sito, con questo contenuto:

<browsers>
  <browser id="InternetExplorer" parentID="Mozilla">
    <identification>
      <userAgent match="Trident/(?'tridentversion'\d+\.\d+); rv:(?'version'\d+\.\d+)" />
    </identification>

    <capabilities>
      <capability name="browser" value="InternetExplorer" />
      <capability name="tridentversion" value="${tridentversion}" />
      <capability name="version" value="${version}" />
      <capability name="type" value="InternetExplorer" />
    </capabilities>
  </browser>
</browsers>

Questo file è stato ricreato perché ricordi la definizione offerta poi dalla versione 4.5.1.

E' anche possibile registrare globalmente il file, salvandolo all'interno della directory C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers e lanciando da riga di comando aspnet_regiis -i, dopo esserci posizionati nella directory di installazione del .NET Framework.

Oppure hai ancora dubbi e semplicemente vuoi approfondire l'argomento? Contattami liberamente, senza alcun impegno, per un preventivo gratuito di consulenza personalizzata.

Nella sessione studiata su misura per te sarò a tua completa disposizione fornendoti risposte chiare, immediate e precise.

Consulenze telefoniche o per posta elettronica prevedono un costo.

L'autore

Mi sono laureato in informatica presso l'università degli studi di Milano. Da sempre mi occupo di informatica e programmazione.
Da qualche anno sono diventato un blogger e collaboro con alcune testate on-line.
Ho al mio attivo anche alcune pubblicazioni on-line.
Alessio Arrigoni - CONSULENTE INFORMATICO
POSTA: info@alessioarrigoni.it
PRIVACY | P.I. 02752540134