Count | |
Integer = Application.Count | |
Renvoie un nombre entier contenant le nombre d'éléments se trouvant actuellement dans la collection Application. L'élément Count provient de l'interface Icollection qui est installée par la classe HttpApplicationState . |
|
Paramètres
|
|
Exemple | |
L'exemple ajoute deux valeurs à la collection Application, affiche le compte d'éléments se trouvant dans la collection Application, puis utilise la propriété Count comme valeur de contrôle récurente pour afficher chaque élément: |
|
Sub Page_Load( ) Application.Clear( ) Application("foo") = "Hello, " Application("bar") = "World!" Message.Text = "The Application collection contains " & _ Application.Count & " items: " Dim I as Integer For I = 0 To Application.Count - 1 Message.Text &= Application(I) Next End Sub |
|
Remarques | |
La propriété Count est nouvelle dans ASP.NET. La propriété Count, qui permet de parcourir la collection Application, peut également servir à vérifier à tout moment le nombre d'éléments stockés par l'Application. Vous pouvez, par exemple, enregistrer ces informations sur un journal afin de les examiner par la suite. |
Item | |
Object = Application.Item(ByVal name As String) Application.Item(ByVal name As String) = Object Object = Application.Item(ByVal index As Integer) Application.Item(ByVal index As Integer) = Object | |
Renvoie ou définit un objet associé à un nom ou à un index particulier. |
|
Paramètres
|
|
Exemple | |
L'exemple définit les valeurs de deux éléments dans la collection Application. Si ces éléments n'existent pas déjà dans la collection, ils lui seront ajoutés. L'exemple affiche ensuite les deux valeurs en question. |
|
Sub Page_Load( ) Application.Clear( ) Application.Item("foo") = "foo" Application.Item("foo2") = "foo2" Message.Text = Application.Item("foo") & "<br/>" Message.Text &= Application.Item(1) End Sub |
|
Remarques | |
On accède implicitement à la propriété Item à l'aide de la syntaxe: Application("foo") = "foo" Cette syntaxe figure souvent sous forme de code ASP classique. Il n'est pas nécessaire de référencer explicitement la propriété Item, mais vous rendrez votre code plus lisible et compréhensible si vous la répertoriez au lieu d'y accéder implicitement. N'oubliez pas que vous ne pouvez utiliser un index comme argument que lorsque vous modifiez une valeur, et non pas lorsque vous créez un nouvel élément; de plus, si l'index n'est pas inférieur au nombre d'éléments figurant dans la collection Application, une exception apparaîtra. |
AllKeys | |
Dim StateVars(Application.Count) As String StateVars = Application.AllKeys | |
Renvoie un tableau de chaînes de noms de clés stockées dans l'objet HttpApplicationState. |
|
Paramètres
|
|
Exemple | |
L'exemple affiche toutes les clés des données stockées dans l'objet Application: |
|
Sub Page_Load( ) Dim I as Integer Dim StateVars(Application.Count - 1) As String StateVars = Application.AllKeys For I = 0 to StateVars.Length - 1 Message.Text = Message.Text + StateVars(I) + "<br/>" Next I End Sub |
|
Remarques | |
Cette propriété fournit une liste de noms de clés attribués à l'ensemble des variables de l'Application considérées. |
Contents | |
HttpApplicationState = Application.Contents | |
Renvoie une référence à l'instance HttpApplicationState considérée. |
|
Paramètres
|
|
Exemple | |
L'exemple ci-dessous invoque la méthode RemoveAll par le biais du référentiel de la collection Contents, puis inscrit un message: |
|
Sub Page_Load( ) Application.Contents.RemoveAll( ) Message.Text = "Removed all items from current Application." End Sub |
|
Remarques | |
Cette propriété fournit une compatibilité ascendante avec l'ASP classique. En ASP classique, vous accédiez aux propriétés telles que Item et aux méthodes telles que Remove et RemoveAll au moyen de la propriété Contents. Dans la nouvelle version d'ASP.NET, vous devez y accéder directement. Par exemple, au lieu d'invoquer la méthode RemoveAll au moyen de la propriété Contents, vous pouvez invoquer la méthode RemoveAll directement: Application.RemoveAll( ) |
Keys | |
KeysCollection = Application.Keys | |
Renvoie une NameObjectCollectionBase.KeysCollection contenant les clés de chaînes associées à l'ensemble des valeurs stockées dans la collection Application. |
|
Paramètres
|
|
Exemple | |
L'exemple parcourt la collection de clés de la collection Application puis affiche le nom de clé et la valeur qui lui est associée à l'aide de la propriété Text du contrôle Message: |
|
Sub Page_Load( ) Dim Key As String Message.Text = "Application Keys:" For Each Key in Application.Keys Message.Text &= "<br/>Key:&;&;&;" & Key Message.Text &= "<br/>Value:&;&;&;" & Application(Key) Next End Sub |
|
Remarques | |
La propriété Keys constitue une manière, parmi tant d'autres, d'itérer le contenu de la collection Application. |
StaticObjects | |
HttpStaticObjectsCollection = Application.StaticObjects | |
Renvoie une HttpStaticObjectsCollection contenant tous les objets instanciés dans global.asax à l'aide de la syntaxe <object runat="server"> dont l'attribut scope a pour valeur Application . |
|
Paramètres
|
|
Exemple | |
L'exemple utilise la propriété Count de la classe HttpStaticObjectsCollection pour afficher le nombre d'objets figurant dans l'application déclarée à l'aide de la syntaxe <object scope="Application" runat="server"/> dans global.asax . Il vérifie ensuite le type de chaque objet et ajoute tous les contrôles Web TextBox qu'il rencontre à la collection Controls de la page considérée. |
|
Sub Page_Load( ) Message.Text = "There are " & Application.StaticObjects.Count & _ " objects declared with the " & _ "<object runat="server"> syntax " & _ "in Application scope." Dim myobj As Object For Each myObj in Application.StaticObjects If myObj.Value.GetType.ToString( ) = _ "System.Web.UI.WebControls.TextBox" Then Page.Controls.Add(myObj.Value) End If Next End Sub |
|
Remarques | |
Cette propriété fournit une compatibilité ascendante avec l'ASP classique. Réfléchissez bien avant d'invoquer des objets à l'aide du domaine Session ou Application en raison de l'effet qu'ont ces objets sur l'utilisation des ressources et l'extensibilité de l'application. Dans la plupart des cas, il est conseillé de limiter les objets à la taille d'une page. Remarquez que chaque objet de la collection est représenté par la structure DictionaryEntry, ce qui empêche l'accès direct à la clé et à la valeur correspondantes. Pour accéder à la clé et/ou à la valeur, utilisez les éléments Key et/ou Value de la structure DictionaryEntry. |
Add | |
Application.Add(ByVal name As String, ByVal value As Object) | |
Ajoute une valeur à la collection Application. |
|
Paramètres
|
|
Exemple | |
L'exemple ajoute un élément à la collection Application puis l'affiche: |
|
Sub Page_Load( ) Application.Add("Added", "AddedValue") Message.Text = Application("Added") End Sub |
|
Remarques | |
La méthode Add, qui est nouvelle dans ASP.NET, permet d'ajouter des éléments à la collection Application, conformément à la technique utilisée pour l'ajout d'éléments aux autres collections .NET. Bien sûr, la syntaxe ASP classique qui consiste à indexer directement l'objet de l'Application à l'aide du nom de la clé fonctionne également. |
Clear | |
Application.Clear( ) | |
Eliminele contenu de la collection Application. |
|
Paramètres | |
Aucun | |
Exemple | |
L'exemple élimine le contenu de la collection Application et inscrit un message dans la propriété Text du contrôle Message comportant le compte correspondant de la collection, soit en principe 0: |
|
Sub Page_Load( ) Application.Clear( ) Message.Text = "There are " & Application.Count & _ " items in the Application collection." End Sub |
|
Remarques | |
La méthode Clear, qui est nouvelle dans ASP.NET, ne supprime que le contenu de la collection Application elle-même. Elle ne supprime pas le contenu de la collection StaticObjects. |
Get | |
Application.Get(ByVal name As String) | |
Récupère un élément de la collection Application en fonction soit de son nom, soit de sa position (index) au sein de la collection Application. En général, le nom est utilisé dans les appels Get, à moins que vous n'ayez besoin d'autres éléments de la collection au sein d'une boucle. |
|
Paramètres
|
|
Exemple | |
L'exemple ci-dessous définit et récupère une valeur dans la collection Application. Il utilise également la méthode Get pour inscrire un message dans la propriété Text du contrôle Message comportant la valeur considérée de l'élément nouvellement ajouté de la collection Application. |
|
Sub Page_Load( ) Application("GetTest") = "Got it!" Message.Text = "GetTest = " & Application.Get("GetTest") End Sub |
|
Remarques | |
Pour voir si une valeur nommée a été sauvegardée dans la collection Application, vérifiez que cette valeur n'est pas nulle, comme l'illustre le code suivant: If Not Application("Foo") is Nothing then Message.Text = "Foo is set to " & Application.Get("Foo") End If |
GetKey | |
Application.GetKey(ByVal Index As Integer) | |
Récupère le nom de la clé correspondant à l'index d'un élément de données stocké dans l'objet Application. |
|
Paramètres
|
|
Exemple | |
L'exemple supprime toutes les valeurs de la collection Application afin de commencer à partir d'un état connu. Il inscrit ensuite une valeur simple dans la collection Application. Enfin, il enregistre la clé du premier élément (index 0) récupéré par un appel à GetKey dans le contrôle Message. |
|
Sub Page_Load( ) Application.RemoveAll( ) Application("GetKeyTest") = "Got it!" Message.Text = "Key of Application(0) = " & _ Application.GetKey(0) & _ "<br/>(Should be GetKeyTest)" End Sub |
|
Remarques | |
Si Index est inférieur à 0 ou supérieur à Application.Count - 1, une exception ArgumentOutOfRangeException sera renvoyée. |
Lock | |
Application.Lock | |
Verrouille l'accès à une collection Application afin de faciliter la synchronisation d'accès. |
|
Paramètres | |
Aucun | |
Exemple | |
L'exemple verrouille l'application, définit une variable de compteur de chargement de page de l'application, déverrouille l'application et affiche la valeur: |
|
Sub Page_Load( ) Application.Lock( ) Application("Counter") = Application("Counter") + 1 Application.UnLock( ) Message.Text = "Counter = " & Application("Counter") End Sub |
|
Remarques | |
Dans cet exemple, remarquez que nous verrouillons l'application, effectuons les opérations de modification au sein de la collection Application et déverrouillons l'application aussi vite que possible. L'accès en lecture à la collection Application peut se faire en toute sécurité en dehors des appels aux méthodes Lock et UnLock. |
Remove | |
Application.Remove(ByVal name As String) | |
Supprime, en fonction de son nom, un élément de la collection Application. |
|
Paramètres
|
|
Exemple | |
Cet exemple détermine si l'élément comportant la clé « foo » existe dans la collection Application et, le cas échéant, le supprime puis affiche un message approprié: |
|
Sub Page_Load( ) If Not Application("foo") Is Nothing Then Application.Remove("foo") Message.Text = "Item 'foo' was removed." Else Message.Text = "Item 'foo' does not exist." End If End Sub |
|
Remarques | |
La méthode Remove fournit une compatibilité ascendante avec l'ASP classique. En ASP classique, on accédait à cette méthode par le biais de la collection Contents. Dans ASP.NET, il est possible d'accéder à cette méthode soit directement, comme indiqué ci-dessus, soit par le biais de la collection Contents. |
RemoveAll | |
Application.RemoveAll( ) | |
Supprime tous les éléments de la collection Application. |
|
Paramètres | |
Aucun | |
Exemple | |
Cet exemple permet de vérifier qu'il existe au moins un élément dans la collection Application puis, le cas échéant, de l'effacer à l'aide de la méthode RemoveAll. |
|
Sub Page_Load( ) If Application.Count > 0 Then Application.RemoveAll( ) Message.Text = "Application collection cleared." Else Message.Text = "Application collection is already empty." End If End Sub |
|
Remarques | |
La méthode Remove fournit une compatibilité ascendante avec l'ASP classique. En ASP classique, on accédait à cette méthode par le biais de la collection Contents. Dans ASP.NET, il est possible d'accéder à cette méthode soit directement, comme indiqué ci-dessus, soit par le biais de la collection Contents. |
RemoveAt | |
Application.RemoveAt(ByVal index As Integer) | |
Supprime un élément de la collection Application en fonction de son index. Il s'agit d'un nouveau compagnon de la méthode Remove qui supprime un élément en fonction de sa clé. |
|
Paramètres
|
|
Exemple | |
Sub Page_Load( ) If Application.Count > 0 Then Application.RemoveAt(0) Message.Text = "The item at index 0 was removed." Else Message.Text = "The item at index 0 does not exist." End If End Sub |
|
Remarques | |
La méthode RemoveAt permet de supprimer des éléments de la collection Application en fonction de leur index plutôt que de leur clé. Comme dans l'exemple ci-dessus, les éléments qui suivent l'élément supprimé seront décalés d'une position dans la collection après cette suppression. Si vous retirez un élément en fonction de son index et que vous invoquez RemoveAt à nouveau avec le même index, vous retirez l'élément qui suivait immédiatement celui que vous venez de retirer. S'il n'y a qu'un seul élément dans la collection Application et que vous invoquez RemoveAt une seconde fois, vous obtiendrez une exception ArgumentOutOfRangeException. |
Set | |
Application.Set(ByVal name As String, ByVal value As Object) | |
Met à jour la valeur d'un objet dans la collection Application. Cette nouvelle méthode vous permet de définir des objets dans la collection Application. |
|
Paramètres
|
|
Exemple | |
Cet exemple utilise Set deux fois; une fois pour définir un nouvel élément dans la collection Application et une autre fois pour changer cette valeur. |
|
Sub Page_Load( ) Application.RemoveAll( ) Application.Set("TotallyNewVariable","Test!") Message.Text = "First: " + Application("TotallyNewVariable") + "<br/>" Application.Set("TotallyNewVariable","Test again!") Message.Text = Message.Text & "First after Set: " + Application("TotallyNewVariable") + "<br/>" End Sub |
|
Remarques | |
Vous pouvez utiliser Set pour ajouter des valeurs à la collection Application, mais en général, vous utiliserez la syntaxe simple à laquelle vous êtes habitué en ASP classique: Application("TotallyNewVariable") = "Test!" |
UnLock | |
Application.UnLock | |
Déverrouille l'accès à une collection Application afin de faciliter la synchronisation d'accès. |
|
Paramètres | |
Aucun | |
Exemple | |
L'exemple verrouille l'application, définit une variable de compteur de chargement de page de l'application, déverrouille l'application et affiche la valeur: |
|
Sub Page_Load( ) Application.Lock( ) Application("Counter") = Application("Counter") + 1 Application.UnLock( ) Message.Text = "Counter = " & Application("Counter") End Sub |
|
Remarques | |
Dans cet exemple, remarquez que nous verrouillons l'application, effectuons les opérations de modification au sein de la collection Application et déverrouillons l'application aussi vite que possible. Tout accès en lecture à la collection Application peut se faire en toute sécurité en dehors des appels aux méthodes Lock et UnLock. |
Start | |
Sub Application_OnStart( )'Event handler logic End Sub | |
Fired lorsque l'Application est créée. Il est conseillé de définir le gestionnaire d'événements lié à cet événement dans le fichier d'application global.asax . |
|
Paramètres | |
Aucun | |
Exemple | |
Cet exemple saisit un message à la fois dans le journal Event et dans le journal IIS de l'Application pour indiquer le déclenchement de l'événement Start: |
|
<Script language="VB" runat="server"> Sub Application_OnStart( ) Dim EventLog1 As New System.Diagnostics.EventLog ("Application", _ ".", "mySource") EventLog1.WriteEntry("Application_OnStart fired!") Context.Response.AppendToLog("Application_OnStart fired!") End Sub </script> Le code ci-dessus pose un problème. La sécurité dans la version publiée de la structure .NET a été renforcée, de sorte que le journal des événements ne peut pas fonctionner par défaut dans une application ASP.NET. |
|
Remarques | |
L'événement Start est utile pour effectuer des tâches d'initialisation lorsque l'application est initialisée. Vous pouvez initialiser les variables d'Application les plus statiques. |
End | |
Sub Application_OnEnd( )'Event handler logic End Sub | |
Fired lorsque l'application cesse de fonctionner soit lors de l'arrêt du serveur Web, soit lors d'une modification du fichier global.asax . Il est conseillé de définir le gestionnaire d'événements lié à cet événement dans le fichier d'application global.asax . |
|
Paramètres | |
Aucun | |
Exemple | |
Cet exemple permet de saisir un message dans le journal d'événements de l'Application pour indiquer le déclenchement de l'événement End: |
|
<Script language="VB" runat="server"> Sub Application_OnEnd( ) Dim EventLog1 As New System.Diagnostics.EventLog ("Application", _ ".", "mySource") EventLog1.WriteEntry("Application_OnEnd fired!") End Sub </script> |
|
Remarques | |
L'événement End est utile dans l'exécution de tâches de nettoyage lorsque l'Application se termine, soit parce que le serveur Web s'arrête, soit en raison d'une modification du fichier global.asax . |