Tag Object sul lato server — Global.asax

È possibile utilizzare il tag <object> per dichiarare e creare nuove variabili di applicazione e sessione utilizzando una sintassi dichiarativa basata su tag. Queste variabili verranno caricate al momento del caricamento dell'applicazione e potranno quindi essere utilizzate da essa. Il tag <object> può assumere tre forme diverse, a seconda del tipo di riferimento relativo all'oggetto creato.

<object id="id" runat="server" scope="scope" class="Class Name"><object id="id" runat="server" scope="scope" progid="COM ProgID"/><object id="id" runat="server" scope="scope" classid="COM ClassID"/>

Attributi

Il tag <object> supporta i seguenti attributi:

  • id
    Consente di utilizzare un identificatore univoco durante la dichiarazione di un oggetto nella pagina.
  • runat
    Per eseguire l'oggetto in ASP.NET, questo attributo deve essere impostato su server. Tutti i valori non server indicano al compilatore della pagina di inviare il tag <object> al client da gestire.
  • scope
    Consente di dichiarare l'ambito nel quale viene dichiarato l'oggetto. pipeline indica che l'oggetto è disponibile solo per la richiesta HTTP del file di applicazione ASP.NET che lo contiene. application indica che l'oggetto viene popolato nell'insieme HttpApplicationState. session indica che l'oggetto viene popolato in HttpSessionState. Se non è specificato alcun ambito, l'attributo scope utilizza, per impostazione predefinita, pipeline.
  • class
    Consente di specificare la classe .NET Framework di cui creare un'istanza.
  • progID
    Consente di specificare il componente COM di cui creare un'istanza, indicandone l'identificatore a livello di codice.
  • classID
    Consente di specificare il componente COM di cui creare un'istanza, utilizzando il relativo identificatore di classe.

Parametri

  • id
    Nome univoco da utilizzare quando si fa riferimento all'oggetto nel codice successivo.
  • Class Name
    Nome della classe di cui creare un'istanza.
  • COM ProgID
    ID del programma COM del componente di cui creare un'istanza.
  • COM ClassID
    ID della classe COM del componente di cui creare un'istanza.

Osservazioni

Quando il processore ASP.NET rileva un tag <object> sul lato server in un file di applicazione ASP.NET, genera una proprietà sulla classe, utilizzando l'attributo id del tag come nome della proprietà. La prima volta che si farà riferimento alla proprietà, verrà configurato il metodo implicito Get della proprietà stessa per creare un oggetto.

Se l'attributo scope del tag <object> è impostato su application o su session, verrà aggiunto un riferimento all'oggetto o almeno informazioni sufficienti per crearlo progressivamente la prima volta che vi si accede, nell'insieme StaticObjects dell'applicazione appropriata o nell'insieme StaticObjects dell'oggetto Session appropriato. L'oggetto verrà aggiunto automaticamente allo spazio dei nomi di tutte le pagine ASPX dell'applicazione.

Gli attributi classid, progid e class si escludono a vicenda. Non è possibile utilizzarne più di uno all'interno di un singolo tag <object> sul lato server.

Esempio

Nell'esempio riportato di seguito viene illustrato come utilizzare il tag <object> per creare un oggetto ArrayList in una pagina Web Form. Sarà quindi possibile accedere all'oggetto a livello di codice, utilizzando il valore items del relativo attributo id.

<object id="items" class="System.Collections.ArrayList" runat="server"/>

Vedere anche

Sintassi di Global.asax