I am using health monitoring on a site and it seems to recompile every minute or so or even more often. I do not always lose session state though.
Here is my Health Monitoring code from my web.config
<healthMonitoring enabled="true">
<eventMappings>
<clear/>
<add name="All Errors" type="System.Web.Management.WebBaseErrorEvent, System.Web,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" startEventCode="0" endEventCode="2147483647"/>
<add name="Application Events" type="System.Web.Management.WebApplicationLifetimeEvent" startEventCode="0" endEventCode="2147483647"/>
</eventMappings>
<providers>
<clear/>
<add name="EmailErrorProvider" type="System.Web.Management.SimpleMailWebEventProvider" to="[email protected]" from="[email protected]" buffer="false" subjectPrefix="Error: " bodyHeader="This email is generated from my application."/>
<add name="EmailErrorProvider2" type="System.Web.Management.SimpleMailWebEventProvider" to="[email protected]" from="[email protected]" buffer="false" subjectPrefix="App Start / App End: " bodyHeader="This email is generated from my application."/>
</providers>
<rules>
<clear/>
<add name="Testing Mail Event Providers" eventName="All Errors" provider="EmailErrorProvider" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:01:00" custom=""/>
<add name="Application Events Default" eventName="Application Events" provider="EmailErrorProvider2" profile="Default" minInstances="1" maxLimit="Infinite" minInterval="00:00:00" />
</rules>
</healthMonitoring>
Here is a notification:
** Events **
---------------
Event code: 1003
Event message: Application compilation is starting.
Event time: 11/3/2009 6:46:54 PM
Event time (UTC): 11/3/2009 11:46:54 PM
Event ID: dd8d7deee3c048b1bef67b77aa6849bc Event sequence: 3 Event occurrence: 2 Event detail code: 0
Process information:
Process ID: 6632
Process name: devenv.exe
Account name: Max-Acer\Max
---------------