Configurazione di applicazioni Internet Explorer

.NET Framework supporta l'hosting di applicazioni in Microsoft Internet Explorer 5.5 o versioni successive. Un'applicazione contenuta in Internet Explorer rappresenta un'applicazione che viene eseguita all'interno di una pagina Web. Questo tipo di applicazione è in grado di sfruttare le funzionalità di .NET Framework SDK, quali attività in remoto e condivisione di assembly. In questa sezione viene illustrato come configurare un'applicazione contenuta in Internet Explorer in modo che sia in grado di accedere a un oggetto utilizzando la modalità remota, utilizzare un componente di terze parti e individuare un assembly privato.

Si supponga che una società di intermediazione titoli desideri inserire sul proprio sito Web un'applicazione che consente agli utenti di specificare la partecipazione azionaria e il numero di azioni possedute per ciascun titolo. L'applicazione calcola il valore di ogni titolo e restituisce la somma delle partecipazioni complessive dell'utente. L'applicazione utilizza un componente di terze parti che disegna un grafico a torta nel quale viene illustrato il valore di ogni azione dell'utente.

L'applicazione è dotata di quattro assembly:

  • StockCalc.dll, che contiene l'interfaccia utente dell'applicazione.
  • PieChart.dll, che contiene il grafico a torta di un fornitore di terze parti.
  • Calculations.dll, che rappresenta un assembly privato che calcola il valore della partecipazione azionaria.
  • StockPrice.dll, che restituisce il prezzo corrente dell'azione. L'applicazione richiede l'accesso all'oggetto in questo assembly dal server Web.

Nella figura riportata di seguito viene illustrata l'interazione tra il client e i server sui quali risiedono gli assembly.

Assembly scaricati sul client

Nella figura riportata di seguito viene illustrata la comunicazione che viene stabilita tra il client e i server per ottenere il prezzo di ogni azione.

Comunicazione tra client e server

Il riferimento all'applicazione (StockCalc.dll) viene inserito in un tag <object> HTML. La posizione degli altri assembly viene specificata nel file di configurazione dell'applicazione. Il nome e la posizione del file di configurazione vengono specificati nel tag <link> all'interno della pagina Web.

Nell'esempio riportato di seguito viene illustrato il codice HTML per la pagina Web contenente l'applicazione.

<html>
   <head>
      <!-- Reference to the configuration file. -->
      <link rel="Configuration" href="www.adventure-works.com/webApp/StockCalc/StockCalc.config"/>
   </head>
   <body>
      <object id="StockCalc" width=100 height=100 classid="StockCalc.dll#StockCalcControl">
      </object>
      <! -- Put the rest of the HTML code here. -->
   </body>
</html>

Riferimento a un assembly di terze parti

Si supponga che la società di intermediazione titoli desideri scaricare l'assembly del grafico a torta dal server del fornitore anziché della società di intermediazione. La società può utilizzare l'elemento <codeBase> contenuto nel file di configurazione per specificare la posizione dell'assembly su Internet. Questa operazione consente a Common Language Runtime di scaricare il file PieChart.dll dal server del fornitore ed eseguirlo localmente sul computer client.

Individuazione di un assembly privato

Si supponga che l'amministratore desideri posizionare l'assembly privato, Calculations, in una directory diversa. Gli assembly privati devono risiedere nella base applicativa o nelle relative sottodirectory. La base applicativa viene impostata sulla directory che contiene il file di configurazione. L'amministratore può utilizzare l'elemento <probing> nel file di configurazione per specificare che gli assembly vengano ricercati dal runtime nelle sottodirectory della base applicativa. Si supponga che www.adventure-works.com/webApp/StockCalc sia associato a C:\Inetpub\Wwwroot\Webapps\StockCalc. Inserendo la stringa <probing privatePath="bin"/> nel file di configurazione, gli assembly vengono ricercati in entrambe le directory C:\Inetpub\Wwwroot\Webapps\StockCalc\Bin e C:\Inetpub\Wwwroot\Webapps\StockCalc.

Riferimento a un oggetto remoto

L'applicazione recupera le informazioni sulle azioni tramite un oggetto remoto che risiede sul server Web della società di intermediazione titoli. In base ai criteri di protezione predefiniti, l'applicazione è in grado di comunicare con il server mediante i socket. L'oggetto contenuto in StockPrice.dll è un oggetto noto. All'applicazione devono essere pertanto noti i nomi dell'oggetto e dell'assembly e la posizione dell'assembly.

File di configurazione StockCalc

Nell'esempio riportato di seguito viene illustrato il contenuto del file StockCalc.config.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <dependentAssembly>

            <!-- Indicates where the runtime should search for other assemblies. -->
            <probing privatePath="bin"/>  

            <!-- Indicates where the runtime can locate the third-party component. -->
            <assemblyIdentity name="PieChart"
                              publicKeyToken="32ab4ba45e0a69a1"
                              culture="en-us" />
            <codeBase version="1.0.0.0"
                      href="http://www.graphicdesigninstitute.com/PieChart.dll"/>
         </dependentAssembly>
      </assemblyBinding>
   </runtime>

   <!-- Specifies remoting information. -->
   <system.runtime.remoting>
      <application>
         <client displayName="StockCalc">
            <wellknown type = "CurrentStockPrice,StockPrice"
                       url = "www.adventure-works.com/webApp/StockCalc.config"/>
         </client>
      </application>
   </system.runtime.remoting>
</configuration>

Vedere anche

Scenari di configurazione delle applicazioni | Reindirizzamento delle versioni degli assembly | Specifica della posizione di un assembly