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

- TechDays Paris 2012 : Session pleinière jour 3 par Blog Technique de Romelard Fabrice le il y a 19 heures et 58 minutes

- Mishra Reader : un lecteur RSS très Zune Style en Open Source ! par Cyril Sansus le il y a 22 heures et 32 minutes

- [framework 4] Les Tasks et le Thread UI par Fathi Bellahcene le 02-09-2012, 00:33

- Workflow Foundation 3 a un pied dans la tombe par Blog de Jérémy Jeanson le 02-08-2012, 22:15

- TechDays Paris 2012 : Nouvelles tendances du poste de travail - Bring Your own PC par Blog Technique de Romelard Fabrice le 02-08-2012, 19:42

- TechDays Paris 2012 : System Center Service Manager 2012 Vue d’ensemble par Blog Technique de Romelard Fabrice le 02-08-2012, 17:32

- TechDays Paris 2012 : Pleinière second jour par Blog Technique de Romelard Fabrice le 02-08-2012, 16:23

- TechDays Paris 2012 : Retour d'expérience sur la mise en place d'un Cloud Privé par Blog Technique de Romelard Fabrice le 02-08-2012, 16:04

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le 02-07-2012, 23:59

- Perspective 3.0 pour Silverlight 5.0 par Perspective le 02-07-2012, 22:39