Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Arnaud CLERET


Astuces et News : .Net, BizTalk, Team System, SQL ...

Actualités

Perte de session lors de la suppression d'un répertoire

Voici une question fréquente sur les différents forums ASP.NET ...

Depuis le Framework 2.0, il s'est avéré que certaines pratiques engendrent des phénomènes étranges sur les Sessions ASP.NET. En effet, bon nombre d'applications ont pour fonctionnement d'ajouter, modifier et surtout supprimer des répertoires dans l'arborescence même du site web. Ce procéder engendre donc un le recyclage du pool d'application IIS 6 et donc la perte des sessions utilisateurs dans le cadre d'une gestion "InProcess".

Plusieurs solutions existent pour parer au problème :

  • Modifier l'application pour qu'elle ne puisse interagir que sur des répertoires dont l'arborescence est distincte de celle du site web. Cette solution n'est malheureusement pas toujours possibles selon les cas.
  • Modifier la gestion de Session pour passer sur un mode "StateServer". Cette solution permet de contourner le problème de perte de session mais pas celui du déchargement du pool d'application IIS 6 et n'est donc clairement pas a privilégier.

En cherchant une solution plus acceptable et n'impactant pas l'application hébergée, je suis tombé sur un post de Todd Carter proposant une solution intéressante basée sur les "Points de jonctions NTFS" à l'aide de l'utilitaire linkd.exe du Ressource Kit de Windows 2003. Cette astuce permet donc de laisser le répertoire de l'arborescence du site web que l'on souhaite modifier tout en faisant un pont vers un autre répertoire où sera réellement stocker le contenu.

Let’s extend the sample web application used previously, let’s suppose I want to be able to create and delete files and directories within a directory under my web application at c:\webRoot. For this sample I consider these files and directories my content so I will create a directory named content such as c:\webRoot\CONTENT. I then create another directory which is really where my content will be stored at c:\MyWebContent. This sample assumes my C: drive is formatted as NTFS. I now need to create a directory junction between c:\webroot\content and c:\mywebcontent by using a utility called linkd.exe. The Linkd.exe utility ships with the Windows Server 2003 Resource Kit and can be downloaded from here.

Deleting ASP.NET 2.0 Application Sub-Directories Shuts Down the AppDomain
Point de jonctions NTFS

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 10 avril 2007 23:21 par arno
Classé sous :

Commentaires

Pas de commentaires

Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [Refactoring] ReSharper pour Visual Studio 2010 (Preview) par Thomas Jaskula le il y a 11 heures et 21 minutes

- [Refactoring] Analyser vos exceptions avec ReSharper Exceptional par Thomas Jaskula le il y a 12 heures et 35 minutes

- SharePoint 2007 : patterns & practices SharePoint Guidance par Philippe Sentenac [MVP SharePoint] le 07-03-2009, 09:56

- [Visual Studio 2010] Les tests cases c’est bien, mais je vais devoir tout réécrire ? par Etienne Margraff le 07-03-2009, 09:00

- MVP[Gribouillon].AddYear par The Grib's Lair [Sébastien PICAMELOT - MVP SharePoint] le 07-03-2009, 08:45

- Clinique INSIA - Projet de fin d’Etudes (Silverlight 3 MVVM et OutOfBrowser, WCF, TFS) - Part 1 par David REI le 07-02-2009, 23:38

- C’est la crise ? Bah pourquoi cramer du budget pub alors ? par Nix's Blog le 07-02-2009, 15:31

- Soyons MVP ! par TheSaib .NET blog le 07-02-2009, 12:15

- SharePoint : Gestion des Erreurs 6398, 7076 et 6482 par Blog Technique de Romelard Fabrice le 07-02-2009, 11:53

- EF avec WPF par Matthieu MEZIL le 07-02-2009, 10:18