PRB: Access Denied Error When You Make Code Modifications with Index Services Running (329065)
The information in this article applies to:
- Microsoft ASP.NET (included with the .NET Framework 1.1)
- Microsoft ASP.NET (included with the .NET Framework) 1.0
- Indexing Service
This article was previously published under Q329065 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: Server Error in '/MyWebApp' ApplicationConfiguration ErrorDescription: 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)
CAUSE 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. RESOLUTION If you do not use Index Server on the server, you can
disable it. To do so, follow these steps: - Click Start, and then
click Services.
- Locate Indexing Service from the list of
services, and then click Indexing Service Properties from the
subform.
- On the General tab of the Indexing
Service Properties dialog box, in the Startup type
drop-down item list, click Disabled.
- 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: - Click Start, point to All
Programs, point to Administrative Tools, and then
click Computer Management.
- Expand the Services and Applications node,
expand the Indexing Service node, and then expand the
System node.
- Right-click the Directories folder, point to New, and then click
Directory from the subform to open the Add
Directory dialog box.
- 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. - Click No under the Include in
Index? option buttons.
- Click OK to close.
- Close the Computer Management dialog
box.
- Restart the Indexing Services service.
MORE INFORMATION Other software that is designed to scan directories at
regular intervals may lock the files that are located in the Temporary ASP.NET
Files directory in a manner that is similar to how the Indexing Service
locks the files. Examples of such software include virus scanners and backup
software. Microsoft recommends that you see the manufacturers' manuals for the
individual software for information about how to disable or to exclude the
Temporary ASP.NET Files from these services.
Modification Type: | Major | Last Reviewed: | 6/25/2004 |
---|
Keywords: | kbConfig kbHttpRuntime kbprb kbWebForms KB329065 kbAudDeveloper |
---|
|