
























SYMPTOMS
When you access a page after an AppDomain load, for example, when you modify the Bin directory or the Web.config file on computers running Microsoft Index Services, you may receive the following error message:
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Access is denied: 'mydll'.
Source Error:
Line 169: <add assembly=<System.Drawing, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/> Line 170: <add assembly=<System.EnterpriseServices, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a>/> Line 171: <add assembly=<*>/> Line 172: </assemblies> Line 173:
Source File: c:\winnt\microsoft.net\framework\v1.0.3705\Config\machine.config Line: 171
Version Information: Microsoft .NET Framework Version:1.0.3705.0; ASP.NET Version:1.0.3705.0
If you right-click the page in the browser, and then click View Source, you see that the HTML source code reveals additional information, including the following call stack.
[FileLoadException]: Access is denied: 'MyWebApp'.<BR/> at System.Reflection.Assembly.nLoad(AssemblyName fileName, Boolean isStringized, Evidence assemblySecurity, Boolean throwOnFileNotFound, Assembly locationHint, StackCrawlMark& stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Boolean stringized, Evidence assemblySecurity, StackCrawlMark& stackMark)<BR/> at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& 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& 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)
If you run Index Server (Cisvc.exe), then Index Server may rescan the Temporary ASP.NET Files directory while it requests a Microsoft ASP.NET page. Cisvc.exe then holds a lock on the Temporary ASP.NET Files directory for one to five minutes. The length of time of the lock depends on the size of the directory that causes the Aspnet_wp.exeprocess (or W3wp.exe process for applications that run on Microsoft Internet Information Services [IIS] 6.0) to not load the particular DLL.
If you do not use Index Server on the server, you can disable it. To do so, follow these steps:
| 1. | Click Start, and then click Services. |
| 2. | Locate Indexing Service from the list of services, and then click Indexing Service Properties from the subform. |
| 3. | On the General tab of the Indexing Service Properties dialog box, in the Startup type drop-down item list, click Disabled. |
| 4. | Click OK. |
If you use Index Server, you can exclude the Temporary ASP.NET Files directory from the folders that the Index Server scans. To do so, follow these steps:
| 1. | Click Start, point to All Programs, point to Administrative Tools, and then click Computer Management. |
| 2. | Expand the Services and Applications node, expand the Indexing Service node, and then expand the System node. |
| 3. | Right-click the Directories folder, point to New, and then click Directory from the subform to open the Add Directory dialog box. |
| 4. | Click Browse, and then locate the Temporary ASP.NET Files directory. You typically find the Temporary ASP.NET files in the following path: c:\<WINDIR>\Microsoft.NET\Framework\<Version Number>\Temporary ASP.NET Files Note<Version Number> is the version of .NET Framework installed on your computer. |
| 5. | Click No under the Include in Index? option buttons. |
| 6. | Click OK to close. |
| 7. | Close the Computer Management dialog box. |
| 8. | Restart the Indexing Services service. |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。