PROBLÈME : Erreur de refus d'accès lorsque vous effectuez des modifications de code tandis que les services d'indexation sont en cours d'exécution

Numéro d'article: 329065 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Lorsque vous accédez à une page après un chargement AppDomain, par exemple lorsque vous modifiez le répertoire Bin ou le fichier Web.config sur des ordinateurs qui exécutent les services d'indexation Microsoft, vous pouvez recevoir le message d'erreur suivant :

Erreur de serveur dans l'application '/MyWebApp'

Erreur de configuration

Description : Une erreur s'est produite lors du traitement d'un fichier de configuration requis pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre fichier de configuration de manière appropriée.

Message d'erreur de l'analyseur : Accès refusé : 'mydll'.

Source de l'erreur :

Ligne 169 :   <add assembly=<System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/>
 
Ligne 170 :    <add assembly=<System.EnterpriseServices, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/>
Ligne 171 :    <add assembly=<*>/>
Ligne 172 :    </assemblies>
Ligne 173 :    
					
Fichier source : c:\winnt\microsoft.net\framework\v1.0.3705\Config\machine.config Ligne : 171
Informations de version : Microsoft .NET Framework Version:1.0.3705.0; ASP.NET Version:1.0.3705.0
Si vous cliquez avec le bouton droit sur la page dans le navigateur, puis que vous cliquez sur Afficher la source, vous constatez que le code source HTML révèle des informations supplémentaires, y compris la pile d'appels suivante.
[FileLoadException]: Access is denied: 'MyWebApp'.<BR/> at System.Reflection.Assembly.nLoad(AssemblyName fileName, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark)<BR/> at System.Reflection.Assembly.Load(String assemblyString)<BR/> at System.Web.UI.CompilationConfiguration.LoadAssemblies(Hashtable original)<BR/> [ConfigurationException]: Access is denied: 'MyWebApp'.<BR/> (d:\winxp\microsoft.net\framework\v1.0.3215\Config\machine.config line 145)<BR/> at System.Web.UI.CompilationConfiguration.LoadAssemblies(Hashtable original)<BR/> at System.Web.UI.CompilationConfiguration.get_Assemblies()<BR/> at System.Web.UI.CompilationConfiguration.GetAssembliesFromContext(HttpContext context)<BR/> at System.Web.UI.TemplateParser.AppendConfigAssemblies()<BR/> at System.Web.UI.TemplateParser.PrepareParse()<BR/> at System.Web.UI.TemplateParser.Parse()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemThroughCompilation()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemInternal(Boolean fCreateIfNotFound)<BR/> at System.Web.UI.TemplateParser.GetParserCacheItemWithNewConfigPath()<BR/> at System.Web.UI.TemplateParser.GetParserCacheItem()<BR/> at System.Web.UI.ApplicationFileParser.GetCompiledApplicationType(String inputFile, HttpContext context, ApplicationFileParser&amp; parser)<BR/> at System.Web.HttpApplicationFactory.CompileApplication(HttpContext context)<BR/> at System.Web.HttpApplicationFactory.Init(HttpContext context)<BR/> at System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context)<BR/> at System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
					

Cause

Si vous exécutez Index Server (Cisvc.exe), celui-ci peut réanalyser le répertoire Temporary ASP.NET Files pendant qu'il demande une page Microsoft ASP.NET. Cisvc.exe maintient ensuite un verrouillage sur le répertoire Temporary ASP.NET Files pendant une à cinq minutes. La durée du verrouillage dépend de la taille du répertoire qui fait en sorte que le processus Aspnet_wp.exeprocess (ou du processus W3wp.exe pour les applications qui s'exécutent sur Microsoft Internet Information Services [IIS] 6.0) ne charge pas la DLL particulière.

Résolution

Si vous n'utilisez pas Index Server sur le serveur, vous pouvez le désactiver. Pour cela, procédez comme suit :
  1. Cliquez sur Démarrer, puis sur Services.
  2. Recherchez Service d'indexation dans la liste de services, puis cliquez sur Propriétés de Service d'indexation dans le sous-formulaire.
  3. Sous l'onglet Général de la boîte de dialogue Propriétés de Service d'indexation, dans la liste d'éléments déroulante Type de démarrage, cliquez sur Désactivé.
  4. Cliquez sur OK.

Si vous utilisez Index Server, vous pouvez exclure le répertoire Temporary ASP.NET Files des dossiers analysés par Index Server. Pour cela, procédez comme suit :
  1. Cliquez sur Démarrer, pointez sur Tous les programmes, sur Outils d'administration, puis cliquez sur Gestion de l'ordinateur.
  2. Développez le n?ud Services et applications, le n?ud Service d'indexation, puis le n?ud Système.
  3. Cliquez avec le bouton droit sur le dossier Répertoires, pointez sur Nouveau, puis cliquez sur Répertoire dans le sous-formulaire pour ouvrir la boîte de dialogue Ajouter un répertoire.
  4. Cliquez sur Parcourir, puis recherchez le répertoire Temporary ASP.NET Files. Il se trouve en général à l'emplacement suivant : c:\<WINDIR>\Microsoft.NET\Framework\<Numéro_Version>\Temporary ASP.NET Files
    Remarque<Numéro_Version> est la version du .NET Framework installée sur votre ordinateur.
  5. Cliquez Non sous les cases d'option Inclure dans l'index.
  6. Cliquez sur OK pour fermer.
  7. Fermez la boîte de dialogue Gestion de l'ordinateur.
  8. Redémarrer le service Services d'indexation.

Plus d'informations

D'autres logiciels conçus pour analyser des répertoires à des intervalles réguliers peuvent verrouiller les fichiers qui se trouvent dans le répertoire Temporary ASP.NET Files d'une manière semblable à celle dont le Service d'indexation verrouille les fichiers. Les antivirus et les logiciels de sauvegarde sont des exemples de logiciels de ce type. Microsoft vous recommande de consulter les manuels des logiciels fournis par les fabricants afin d'obtenir plus d'informations sur la façon de désactiver ou d'exclure le répertoire Temporary ASP.NET Files de ces services.

Propriétés

Numéro d'article: 329065 - Dernière mise à jour: lundi 30 janvier 2006 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft Windows Indexing Service 2.0
Mots-clés : 
kbconfig kbhttpruntime kbprb kbwebforms KB329065
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires