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

Article translations Article translations
Article ID: 309337 - View products that this article applies to.
This article was previously published under Q309337
This article has been archived. It is offered "as is" and will no longer be updated.
This article refers to the following Microsoft .NET Framework Class Library namespaces:
  • System.Threading
Expand all | Collapse all


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.


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.


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.


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.


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


Article ID: 309337 - Last Review: February 27, 2014 - Revision: 2.3
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET 2002 Enterprise Architect
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Visual Studio .NET 2002 Academic Edition
kbnosurvey kbarchive kbconfig kbnofix kbprb kbreadme kbthread kbweb KB309337

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from