IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

FAQ ASP.NET/VB.NET

logo
Sommaire > Divers
        Comment forcer la libération de la mémoire par le Garbage Collector ?
        Comment fonctionne le Garbage Collector ?
        Comment visualiser le GAC avec la structure de fichier classique?
        Comment exécuter une application se trouvant sur l'intranet ?
        Comment lancer un téléchargement dans la fenêtre courante ?
        Comment créer une application web sans la placer sous Inetpub/wwwroot?



Comment forcer la libération de la mémoire par le Garbage Collector ?
auteur : Keihilin
Pour forcer le Garbage Collector à libérer la mémoire inutilisée par le .NET Framework, on peut appeller la méthode Collect de la classe GC.

					System.GC.Collect()
				
Par contre, pour des raisons qui justifieraient à elles seules un article, il n'est pas conseillé d'appeller GC.Collect() directement. Par conséquent, ne le faites pas à moins d'être un expert du garbage collector.


Comment fonctionne le Garbage Collector ?
auteur : Keihilin
Ce qui suit est extrait d'un échange sur le forum dotnet. C'est très shématique mais cela résume bien comment le .NET Framework s'y prend pour gérer la mémoire Le .NET Framework : Salut OS, j'ai des trucs à lancer, j'peux te prendre de la ram ? L'OS : Hé Salut ! Je t'en pris, sers-toi ! Le .NET Framework : Sympa mec. J't'en prend 50Mo maintenant, j'ai besoin que de 15 Mo, mais comme ça je te dérange pas si j'ai besoin de plus. ... Le .NET Framework : Hé l'OS, t'es short niveau mémoire ? L'OS : Non non, tout va bien. Le .NET Framework : Bon, alors je garde mes 50 Mo encore un peu. L'OS : Oki. ... SQL Server : Bonjour M. l'OS, j'ai un gros besoin de mémoire...au moins 200 Mo. L'OS : Ben sers-toi donc. SQL Server : Ouais mais y a plus que 180Mo ! L'OS : Ah OK, attend 2 millisecondes stp... L'OS : Hé Framework, tu peux me rendre un peu de RAM ? Le .NET Framework : No problemo, j'te fais ça tout de suite... Le .NET Framework : Garbage Collector, soit un amour et va rendre de la mémoire à l'OS. Garbage Collector : J'y cours patron. C'est clair non ?


Comment visualiser le GAC avec la structure de fichier classique?
auteur : Laurent Dardenne
Il est possible de visualiser le cache global des assemblages (GAC) comme un répertoire classique.

Le GAC est enregistré en tant que répertoire spécial et c'est la Dll ShFusion qui prend en charge sa présentation sous l'exploration de fichiers.

En modifiant la clé de registre HKEY_LOCAL_MACHINE\Software\Microsoft\Fusion vous pouvez intervenir sur son mode de visualisation au sein de l'explorateur.

Pour ce faire, modifier la clé nommée DisableCacheViewer en lui attribuant une valeur différente de zéro.

					Windows Registry Editor Version 5.00
					[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]
					"DisableCacheViewer"=dword:00000001
				
Cette clé est gérée dynamiquement, il n'est pas nécessaire de relancer les explorateurs de fichiers actifs.


Comment exécuter une application se trouvant sur l'intranet ?
auteurs : StormimOn, nico-pyright(c)
Par défaut, il n'est pas possible d'exécuter une application se trouvant sur l'intranet. Voici la marche à suivre pour autoriser cette exécution :
  • Allez dans Paramètres > Panneau de configuration > Outils d'aministration > Microsoft .NET Framework Configuration.
  • Dans la fenêtre qui s'affiche, déployez l'arbre jusqu'à atteindre le noeud suivant : Poste de travail > Stratégie de sécurité du runtime > Ordinateur > Groupes de codes > All_Code > LocalIntranet_Zone
  • Faites un clic droit sur ce dernier noeud puis Propriétés. Dans la fenêtre qui s'affiche allez dans l'onglet Jeu d'autorisations et là passez l'autorisation de LocalIntranet à FullTrust.
Cette opération peut également se faire en ligne de commande avec l'utilitaire caspol.exe qui se trouve dans le répertoire C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 pour le framework 2.0.
Par exemple

					
caspol -q -m -ag 1.2 -zone Intranet FullTrust -n My_Zone

				
Va ajouter un groupe de code nommé My_Zone avec le jeu d'autorisations FullTrust sur la zone Intranet, prenant ainsi le pas sur le jeu d'autorisations LocalIntranet de la zone LocalIntranet_Zone.
Pour supprimer un groupe c'est aussi simple :
caspol -q -m -rg My_Zone

Comment lancer un téléchargement dans la fenêtre courante ?
auteur : Olivier Delmotte
J'ai eu ce petit soucis avec le ReportViewer qui ouvre une nouvelle fenêtre du navigateur quand on lui demande d'exporter l'état. J'ai trouvé cette parade (et je reprendrais l'exemple de l'export d'un état pour cet exemple)

					
' Préparation de la réponse :
' effacement,renseignement du type de contenu,informations supplémentaires
Me.Page.Response.Clear()
Me.Page.Response.ContentType = mimeType
Me.Page.Response.AddHeader("Content-Disposition", "attachment; filename="
 & nomdufichier)
Me.Page.Response.Flush()
 
' Ecriture du contenu du fichier dans le flux de réponse
Me.Page.Response.BinaryWrite(reportContent)
 
' Fermeture et envoie de la réponse
Me.Page.Response.Flush()
Me.Page.Response.Close()
Me.Page.Response.End()

				
Voila, votre navigateur vous affiche maintenant la boite de dialogue de téléchargement du fichier sans ouvrir de nouvelle page.


Comment créer une application web sans la placer sous Inetpub/wwwroot?
auteur : Didier Danse
Tout d'abord, créez votre répertoire physique.

Ensuite, à l'aide de la console de management de IIS (Panneau de configuration > Outils d'administration > Internet Information Services), créez le répertoire virtuel associé à ce répertoire physique.

Enfin, créez une nouvelle application asp.net dans Visual Studio et donnez lui le même nom que le nom du répertoire virtuel.



Consultez les autres F.A.Q's


Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Dotnet Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.