PRB: Exceptions Occur When You Run ASP.NET Applications and Inoculan Antivirus Software (309337)



The information in this article applies to:

  • Microsoft ASP.NET (included with the .NET Framework) 1.0
  • Microsoft Visual Studio .NET (2002), Professional Edition
  • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition
  • Microsoft Visual Studio .NET (2002), Enterprise Developer Edition
  • Microsoft Visual Studio .NET (2002), Academic Edition

This article was previously published under Q309337
This article refers to the following Microsoft .NET Framework Class Library namespaces:
  • System.Threading

SYMPTOMS

When you use Visual Studio .NET to develop an ASP.NET Web application on a computer that is running Inoculan antivirus software, ASP.NET may throw a random exception when you run the application within Visual Studio. In most tested scenarios, the exception is of type System.Threading.ThreadAbortException.

CAUSE

After you first open the file, Inoculan writes back to a file (in an alternative NTFS file system stream). In this case, Visual Studio creates a dynamic-link library (DLL) in the Bin folder and issues the request to the .aspx page. While processing the request, the ASP.NET worker process loads the DLL. Inoculan then writes back to the DLL file, which triggers the notification that the file has changed. ASP.NET receives this notification and restarts the application. Because this occurs while the first request is still being processed, ASP.NET may not have enough state to finish processing the request, depending on the time-out setting. Thus, ASP.NET rejects the original request.

RESOLUTION

To resolve this problem, increase the delayNotificationTimeout attribute of the <httpRuntime> configuration section in the Web.config file. This value is set with the following entry in the Web.config file:
<httpRuntime delayNotificationTimeout="5" />
				
The default value is 5 seconds, which is sometimes insufficient for specific hardware. To resolve the problem on your computer, you must increase the time-out value to a value that works for your hardware and computer speed, for example 60.

STATUS

This is not a bug in ASP.NET or Visual Studio .NET, but a side effect of another product that is running on the same computer.

MORE INFORMATION

The following frames usually appear on the top of the exception stack:
System.Web.Compilation.CompilationMutex.WaitOne() +314
System.Web.Compilation.PreservedAssemblyEntry.LoadDataFromFile(Boolean fApplicationFile) +41
System.Web.Compilation.PreservedAssemblyEntry.GetPreservedAssemblyEntry
				

Modification Type:MinorLast Reviewed:4/24/2003
Keywords:kbConfig kbnofix kbprb kbreadme kbThread kbweb KB309337